{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Face Recognition\n",
    "\n",
    "    CNN is trained on AT&T dataset. Dropout was tried to reduce overfitting- dropout layer after pooling layer and fully connected layer.\n",
    "    \n",
    "    CNN Architecture: conv layer 1 = 64 neurons, conv layer 2 = 64 neurons, fully connected layer = 64 neurons\n",
    "    \n",
    "    Results on test set:    \n",
    "                   Precision   Recall      F1\n",
    "    without dropout  0.85      0.76      0.77\n",
    "    20% dropout      0.75      0.69      0.68\n",
    "    10% dropout      0.16      0.25      0.17"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "import cv2\n",
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt\n",
    "from time import time\n",
    "import os"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Prepare data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Each image is resized to (64, 64)\n"
     ]
    }
   ],
   "source": [
    "# Handle resizing of images, while maintaing aspect ratio\n",
    "def resize_image(image, h, w):\n",
    "\n",
    "    old_width = image.shape[1]\n",
    "    old_height = image.shape[0]\n",
    "    dH, dW = 0, 0\n",
    "    \n",
    "    if old_width < old_height:  #width is smaller, resize along width and compute new height\n",
    "        aspect_r = w / old_width  #aspect ratio\n",
    "        new_height = int(old_height * aspect_r)\n",
    "        new_dim = (w, new_height)\n",
    "        resized_img = cv2.resize(image, new_dim, interpolation = cv2.INTER_AREA)\n",
    "        #dimensions of above image are: (new_height, desired_width). \n",
    "        #Since images in our dataset might be of diff. sizes, such resized images will end up being different sizes\n",
    "        #hence crop the image as follows to make each image of size(desired_height, desired_width)\n",
    "        dH = int((resized_img.shape[0] - h)/2.0)\n",
    "        \n",
    "    else:   #height is smaller, resize along height and compute new width\n",
    "        aspect_r = h / old_height  #aspect ratio\n",
    "        new_width = int(old_width * aspect_r)\n",
    "        new_dim = (new_width, h)\n",
    "        resized_img = cv2.resize(image, new_dim, interpolation = cv2.INTER_AREA)\n",
    "        dW = int((resized_img.shape[1] - w)/2.0)\n",
    "        \n",
    "    new_h, new_w = resized_img.shape[:2]\n",
    "    cropped_image = resized_img[dH:new_h - dH, dW:new_w - dW]  #dimensions of this image = desired dimensions\n",
    "    #Make sure that the image is resized to desired dimensions\n",
    "    return cv2.resize(cropped_image, (h, w), interpolation = cv2.INTER_AREA)  \n",
    "\n",
    "#All images provided to the classifier should have fixed and equal sizes\n",
    "dim = (64, 64)\n",
    "\n",
    "print(\"Each image is resized to {}\".format(dim))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Subject 0, 10 images loaded\n",
      "Subject 1, 10 images loaded\n",
      "Subject 2, 10 images loaded\n",
      "Subject 3, 10 images loaded\n",
      "Subject 4, 10 images loaded\n",
      "Subject 5, 10 images loaded\n",
      "Subject 6, 10 images loaded\n",
      "Subject 7, 10 images loaded\n",
      "Subject 8, 10 images loaded\n",
      "Subject 9, 10 images loaded\n",
      "Subject 10, 10 images loaded\n",
      "Subject 11, 10 images loaded\n",
      "Subject 12, 10 images loaded\n",
      "Subject 13, 10 images loaded\n",
      "Subject 14, 10 images loaded\n",
      "Subject 15, 10 images loaded\n",
      "Subject 16, 10 images loaded\n",
      "Subject 17, 10 images loaded\n",
      "Subject 18, 10 images loaded\n",
      "Subject 19, 10 images loaded\n",
      "Subject 20, 10 images loaded\n",
      "Subject 21, 10 images loaded\n",
      "Subject 22, 10 images loaded\n",
      "Subject 23, 10 images loaded\n",
      "Subject 24, 10 images loaded\n",
      "Subject 25, 10 images loaded\n",
      "Subject 26, 10 images loaded\n",
      "Subject 27, 10 images loaded\n",
      "Subject 28, 10 images loaded\n",
      "Subject 29, 10 images loaded\n",
      "Subject 30, 10 images loaded\n",
      "Subject 31, 10 images loaded\n",
      "Subject 32, 10 images loaded\n",
      "Subject 33, 10 images loaded\n",
      "Subject 34, 10 images loaded\n",
      "Subject 35, 10 images loaded\n",
      "Subject 36, 10 images loaded\n",
      "Subject 37, 10 images loaded\n",
      "Subject 38, 10 images loaded\n",
      "Subject 39, 10 images loaded\n"
     ]
    }
   ],
   "source": [
    "#All images provided to the classifier should have fixed and equal sizes\n",
    "dim = (64, 64)\n",
    "\n",
    "def fetch_subject_images(path_to_subject, subject_number):\n",
    "    X = np.array([])\n",
    "    index = 0\n",
    "    for subject_img in os.listdir(path_to_subject): #for each image in this subject's folder\n",
    "        img_path = os.path.join(path_to_subject, subject_img)\n",
    "        if img_path.endswith(\".pgm\") or img_path.endswith(\".png\") or img_path.endswith(\".jpg\") or img_path.endswith(\".jpeg\"):\n",
    "            #Read image, convert it to grayscale and resize every image to a fixed size  \n",
    "            img = cv2.resize(cv2.imread(img_path, 0), dim, interpolation = cv2.INTER_AREA) \n",
    "            \n",
    "            img_data = img[np.newaxis, :, :]\n",
    "            X = img_data if not X.shape[0] else np.vstack((X, img_data))\n",
    "            index += 1\n",
    "\n",
    "    y = np.empty(index, dtype = int) #index = total no. of samples\n",
    "    y.fill(subject_number)  #add labels\n",
    "    return X, y\n",
    "\n",
    "def fetch_data(dataset_path):\n",
    "\n",
    "    # Get a the list of folder names in the path to dataset\n",
    "    labels_list = [d for d in os.listdir(dataset_path) if \".\" not in str(d)]\n",
    "\n",
    "    X = np.empty([0, dim[0], dim[1]])\n",
    "    y = np.empty([0])\n",
    "\n",
    "    for i in range(0, len(labels_list)):  #for each person\n",
    "        subject = str(labels_list[i])  #person i in list of ppl\n",
    "        path_to_subject = os.path.join(dataset_path, subject) #full path to this person's directory\n",
    "        \n",
    "        #Read all images in this folder (all images of this person)\n",
    "        X_, y_ = fetch_subject_images(path_to_subject, i)\n",
    "        X = np.concatenate((X, X_), axis=0)\n",
    "        y = np.append(y, y_)\n",
    "        print(\"Subject {}, {} images loaded\".format(i, X_.shape[0]))\n",
    "\n",
    "    return X, y, labels_list\n",
    "\n",
    "# Load training data \n",
    "dataset_path = \"att_faces/\"\n",
    "X_face, y_face, labels_list  = fetch_data(dataset_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import re\n",
    "q = labels_list\n",
    "def stringSplitByNumbers(x):\n",
    "    r = re.compile('(\\d+)')\n",
    "    l = r.split(x)\n",
    "    return [int(y) if y.isdigit() else y for y in l]\n",
    "\n",
    "labels_list_faces = sorted(q, key = stringSplitByNumbers)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Split into training and test sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset consists of 400 samples and  40 classes\n",
      "Data: (400, 64, 64) and labels: (400, 40)\n",
      " \n",
      "Training data (320, 64, 64), test data (80, 64, 64)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "n_classes = len(np.unique(y_face))\n",
    "encoder = OneHotEncoder()\n",
    "labels = encoder.fit_transform(np.reshape(y_face, (-1, 1))).toarray()\n",
    "\n",
    "print(\"Dataset consists of {} samples and  {} classes\".format(X_face.shape[0], n_classes))\n",
    "print(\"Data: {} and labels: {}\".format(X_face.shape, labels.shape))                                                                                           \n",
    "print(\" \")\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_face, labels, test_size=0.20, random_state=42)\n",
    "print(\"Training data {}, test data {}\".format(X_train.shape, X_test.shape))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  CNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# tf.reset_default_graph()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "EPOCH 0\n",
      "Train accuracy = 0.015625, train loss = 194.58755493164062\n",
      "Validation loss: 163.57131958007812, minimum loss: 163.57131958007812, validation accuracy: 0.012500000186264515\n",
      " \n",
      "EPOCH 1\n",
      "Train accuracy = 0.046875, train loss = 25.720008850097656\n",
      "Validation loss: 24.181743621826172, minimum loss: 24.181743621826172, validation accuracy: 0.02500000037252903\n",
      " \n",
      "EPOCH 2\n",
      "Train accuracy = 0.015625, train loss = 3.6628379821777344\n",
      "Validation loss: 3.6299774646759033, minimum loss: 3.6299774646759033, validation accuracy: 0.012500000186264515\n",
      " \n",
      "EPOCH 3\n",
      "Train accuracy = 0.015625, train loss = 3.643049716949463\n",
      "Validation loss: 3.634237766265869, minimum loss: 3.6299774646759033, validation accuracy: 0.03750000149011612\n",
      " \n",
      "EPOCH 4\n",
      "Train accuracy = 0.09375, train loss = 3.397752046585083\n",
      "Validation loss: 3.556568145751953, minimum loss: 3.556568145751953, validation accuracy: 0.03750000149011612\n",
      " \n",
      "EPOCH 5\n",
      "Train accuracy = 0.109375, train loss = 3.0680716037750244\n",
      "Validation loss: 3.360755443572998, minimum loss: 3.360755443572998, validation accuracy: 0.125\n",
      " \n",
      "EPOCH 6\n",
      "Train accuracy = 0.390625, train loss = 2.225860357284546\n",
      "Validation loss: 3.0775508880615234, minimum loss: 3.0775508880615234, validation accuracy: 0.17499999701976776\n",
      " \n",
      "EPOCH 7\n",
      "Train accuracy = 0.59375, train loss = 1.5328376293182373\n",
      "Validation loss: 2.416511058807373, minimum loss: 2.416511058807373, validation accuracy: 0.375\n",
      " \n",
      "EPOCH 8\n",
      "Train accuracy = 0.84375, train loss = 0.6586958169937134\n",
      "Validation loss: 1.9873559474945068, minimum loss: 1.9873559474945068, validation accuracy: 0.48750001192092896\n",
      " \n",
      "EPOCH 9\n",
      "Train accuracy = 0.859375, train loss = 0.521949052810669\n",
      "Validation loss: 1.4418233633041382, minimum loss: 1.4418233633041382, validation accuracy: 0.625\n",
      " \n",
      "EPOCH 10\n",
      "Train accuracy = 1.0, train loss = 0.10455363243818283\n",
      "Validation loss: 1.5388174057006836, minimum loss: 1.4418233633041382, validation accuracy: 0.675000011920929\n",
      " \n",
      "EPOCH 11\n",
      "Train accuracy = 1.0, train loss = 0.01916482299566269\n",
      "Validation loss: 1.5958139896392822, minimum loss: 1.4418233633041382, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 12\n",
      "Train accuracy = 1.0, train loss = 0.009302902035415173\n",
      "Validation loss: 1.7013229131698608, minimum loss: 1.4418233633041382, validation accuracy: 0.675000011920929\n",
      " \n",
      "EPOCH 13\n",
      "Train accuracy = 1.0, train loss = 0.003080444410443306\n",
      "Validation loss: 1.7185389995574951, minimum loss: 1.4418233633041382, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 14\n",
      "Train accuracy = 1.0, train loss = 0.0018422319553792477\n",
      "Validation loss: 1.5535767078399658, minimum loss: 1.4418233633041382, validation accuracy: 0.737500011920929\n",
      " \n",
      "EPOCH 15\n",
      "Train accuracy = 1.0, train loss = 0.0033562746830284595\n",
      "Validation loss: 1.5548557043075562, minimum loss: 1.4418233633041382, validation accuracy: 0.75\n",
      " \n",
      "EPOCH 16\n",
      "Train accuracy = 1.0, train loss = 0.0010782385943457484\n",
      "Validation loss: 1.4133660793304443, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 17\n",
      "Train accuracy = 1.0, train loss = 0.00041611382039263844\n",
      "Validation loss: 1.514919400215149, minimum loss: 1.4133660793304443, validation accuracy: 0.737500011920929\n",
      " \n",
      "EPOCH 18\n",
      "Train accuracy = 1.0, train loss = 0.0003164621884934604\n",
      "Validation loss: 1.4447834491729736, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 19\n",
      "Train accuracy = 1.0, train loss = 0.00016915792366489768\n",
      "Validation loss: 1.5085070133209229, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 20\n",
      "Train accuracy = 1.0, train loss = 0.00015788924065418541\n",
      "Validation loss: 1.61981999874115, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 21\n",
      "Train accuracy = 1.0, train loss = 7.717327389400452e-05\n",
      "Validation loss: 1.6794445514678955, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 22\n",
      "Train accuracy = 1.0, train loss = 1.807027729228139e-05\n",
      "Validation loss: 1.6864967346191406, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 23\n",
      "Train accuracy = 1.0, train loss = 3.218427445972338e-05\n",
      "Validation loss: 1.6816165447235107, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 24\n",
      "Train accuracy = 1.0, train loss = 2.029848656093236e-05\n",
      "Validation loss: 1.6720699071884155, minimum loss: 1.4133660793304443, validation accuracy: 0.7875000238418579\n",
      " \n",
      "EPOCH 25\n",
      "Train accuracy = 1.0, train loss = 1.1930040273000486e-05\n",
      "Validation loss: 1.674330711364746, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 26\n",
      "Train accuracy = 1.0, train loss = 7.934743734949734e-06\n",
      "Validation loss: 1.6821479797363281, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 27\n",
      "Train accuracy = 1.0, train loss = 7.914251909824088e-06\n",
      "Validation loss: 1.699755072593689, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 28\n",
      "Train accuracy = 1.0, train loss = 9.458315616939217e-06\n",
      "Validation loss: 1.7205333709716797, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 29\n",
      "Train accuracy = 1.0, train loss = 6.263988325372338e-06\n",
      "Validation loss: 1.737134575843811, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 30\n",
      "Train accuracy = 1.0, train loss = 8.042727131396532e-06\n",
      "Validation loss: 1.7520077228546143, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 31\n",
      "Train accuracy = 1.0, train loss = 7.746657502138987e-06\n",
      "Validation loss: 1.7610543966293335, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 32\n",
      "Train accuracy = 1.0, train loss = 6.4223377194139175e-06\n",
      "Validation loss: 1.7625114917755127, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 33\n",
      "Train accuracy = 1.0, train loss = 5.153891834197566e-06\n",
      "Validation loss: 1.7631237506866455, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 34\n",
      "Train accuracy = 1.0, train loss = 4.176018592261244e-06\n",
      "Validation loss: 1.7650821208953857, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 35\n",
      "Train accuracy = 1.0, train loss = 2.898264483519597e-06\n",
      "Validation loss: 1.767496109008789, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 36\n",
      "Train accuracy = 1.0, train loss = 3.552050884536584e-06\n",
      "Validation loss: 1.768746018409729, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 37\n",
      "Train accuracy = 1.0, train loss = 3.0379605959751643e-06\n",
      "Validation loss: 1.7669942378997803, minimum loss: 1.4133660793304443, validation accuracy: 0.7749999761581421\n",
      " \n",
      "EPOCH 38\n",
      "Train accuracy = 1.0, train loss = 2.4940727598732337e-06\n",
      "Validation loss: 1.7675384283065796, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 39\n",
      "Train accuracy = 1.0, train loss = 3.3248043109779246e-06\n",
      "Validation loss: 1.7657134532928467, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 40\n",
      "Train accuracy = 1.0, train loss = 3.0603132472606376e-06\n",
      "Validation loss: 1.7627265453338623, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 41\n",
      "Train accuracy = 1.0, train loss = 3.2279481274599675e-06\n",
      "Validation loss: 1.7631711959838867, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 42\n",
      "Train accuracy = 1.0, train loss = 2.346920155105181e-06\n",
      "Validation loss: 1.766923189163208, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 43\n",
      "Train accuracy = 1.0, train loss = 2.223988303740043e-06\n",
      "Validation loss: 1.7750123739242554, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 44\n",
      "Train accuracy = 1.0, train loss = 2.2929075385036413e-06\n",
      "Validation loss: 1.7799965143203735, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 45\n",
      "Train accuracy = 1.0, train loss = 2.00792555915541e-06\n",
      "Validation loss: 1.7795518636703491, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "EPOCH 46\n",
      "Train accuracy = 1.0, train loss = 2.186739038734231e-06\n",
      "Validation loss: 1.7802917957305908, minimum loss: 1.4133660793304443, validation accuracy: 0.762499988079071\n",
      " \n",
      "** EARLY STOPPING ** \n",
      "Training took 3.964363 minutes\n",
      "INFO:tensorflow:Restoring parameters from ./face_rec_CNNmodel1\n",
      "Final test accuracy = 0.762499988079071\n"
     ]
    }
   ],
   "source": [
    "width = 64\n",
    "height = 64\n",
    "\n",
    "n_features = height*width\n",
    "channels = 1\n",
    "\n",
    "feature_map1 = 64\n",
    "ksize_conv1 = 2\n",
    "stride_conv1 = 1\n",
    "\n",
    "feature_map2 = 64\n",
    "ksize_conv2 = ksize_conv1\n",
    "stride_conv2 = stride_conv1\n",
    "\n",
    "pool_layer_maps2 = feature_map2\n",
    "\n",
    "n_fully_conn1 = 64\n",
    "  \n",
    "X = tf.placeholder(tf.float32, shape=[None, height, width])\n",
    "X_reshaped = tf.reshape(X, shape=[-1, height, width, channels])\n",
    "y = tf.placeholder(tf.int32, shape=[None, n_classes])\n",
    "\n",
    "xavier_init = tf.contrib.layers.xavier_initializer()\n",
    "relu_act = tf.nn.relu\n",
    "\n",
    "# ------------------ Convolutional and pooling layers ----------------------------\n",
    "\n",
    "def convolutional_layer(X, filter_, ksize, kernel_init, strides, padding):\n",
    "    convolutional_layer = tf.layers.conv2d(X, filters = filter_, kernel_initializer = kernel_init,\n",
    "                                           kernel_size = ksize, strides = strides,\n",
    "                                          padding = padding, activation = relu_act)\n",
    "    return convolutional_layer\n",
    "\n",
    "def pool_layer(convlayer, ksize, strides, padding, pool_maps):\n",
    "    pool = tf.nn.max_pool(convlayer, ksize, strides, padding)\n",
    "    dim1, dim2 = int(pool.get_shape()[1]), int(pool.get_shape()[2])\n",
    "    pool_flat = tf.reshape(pool, shape = [-1, pool_maps * dim1 * dim2])\n",
    "    return pool_flat\n",
    "\n",
    "conv_layer1 = convolutional_layer(X_reshaped, feature_map1, ksize_conv1, xavier_init, stride_conv1, padding = \"SAME\")\n",
    "\n",
    "conv_layer2 = convolutional_layer(conv_layer1, feature_map2, ksize_conv2, xavier_init, stride_conv2, padding = \"SAME\")\n",
    "\n",
    "pool_layer2_flat = pool_layer(conv_layer2, [1,2,2,1], [1,2,2,1], \"VALID\", pool_layer_maps2)\n",
    "\n",
    "# ----------------- Fully connected layer -------------------\n",
    "\n",
    "def dense_layer(input_layer, n_neurons, kernel_init, activation):\n",
    "    fully_conn = tf.layers.dense(inputs = input_layer, units = n_neurons, activation = activation,\n",
    "                                kernel_initializer = kernel_init)\n",
    "    return fully_conn\n",
    "        \n",
    "dense_layer1 = dense_layer(pool_layer2_flat, n_fully_conn1, xavier_init, relu_act)\n",
    "\n",
    "#--------------------------------------------------------------\n",
    "\n",
    "logits = tf.layers.dense(dense_layer1, n_classes)\n",
    "\n",
    "prediction = tf.nn.softmax(logits)\n",
    "\n",
    "xentropy = tf.nn.softmax_cross_entropy_with_logits(labels = y, logits = logits)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "\n",
    "optimizer = tf.train.AdamOptimizer(0.001)\n",
    "train_step = optimizer.minimize(loss)\n",
    "\n",
    "correct_preds = tf.equal(tf.argmax(prediction,1), tf.argmax(y, 1))\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_preds, tf.float32))\n",
    "\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "n_epochs = 100\n",
    "batch_size = 64\n",
    "n_train = X_train.shape[0]\n",
    "n_iter = n_train//batch_size\n",
    "path = \"./face_rec_CNNmodel1\"\n",
    "\n",
    "train_loss_log, train_acc_log, val_loss_log, val_acc_log = ([] for i in range (4))\n",
    "\n",
    "sess = tf.InteractiveSession()\n",
    "init = tf.global_variables_initializer()\n",
    "init.run()\n",
    "\n",
    "#initialize variables for early stopping\n",
    "min_loss = np.infty\n",
    "epochs_without_improvement = 0 \n",
    "max_epochs_without_improvement = 30 \n",
    "\n",
    "start = time()\n",
    "for epoch in range(n_epochs):\n",
    "    for iteration in range(n_iter):\n",
    "        rand_indices = np.random.choice(n_train, batch_size, replace = False)    \n",
    "        X_batch, y_batch = X_train[rand_indices], y_train[rand_indices]\n",
    "        sess.run(train_step, feed_dict={X: X_batch, y: y_batch})\n",
    "        \n",
    "    train_loss, train_acc = sess.run([loss, accuracy], feed_dict={X: X_batch, y: y_batch})\n",
    "    train_loss_log.append(train_loss)\n",
    "    train_acc_log.append(train_acc)\n",
    "\n",
    "    val_loss, val_acc, y_pred = sess.run([loss, accuracy, prediction], feed_dict={X: X_test, y: y_test})\n",
    "    val_loss_log.append(val_loss)\n",
    "    val_acc_log.append(val_acc)\n",
    "        \n",
    "    # Early stopping \n",
    "        \n",
    "    if val_loss < min_loss:\n",
    "        save_path = saver.save(sess, path)\n",
    "        min_loss = val_loss\n",
    "        epochs_without_improvement = 0\n",
    "    else:\n",
    "        epochs_without_improvement += 1\n",
    "        if epochs_without_improvement > max_epochs_without_improvement:\n",
    "            print(\"** EARLY STOPPING ** \")\n",
    "            break\n",
    "    print(\"EPOCH {}\".format(epoch))\n",
    "    print(\"Train accuracy = {}, train loss = {}\".format(train_acc, train_loss))\n",
    "    print(\"Validation loss: {}, minimum loss: {}, validation accuracy: {}\".format(val_loss, min_loss, val_acc))\n",
    "    print(\" \")\n",
    "    \n",
    "print(\"Training took %f minutes\"%(float(time() - start)/60.0))\n",
    "\n",
    "saver.restore(sess, path)\n",
    "acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "print(\"Final test accuracy = {}\".format(acc_test))\n",
    "\n",
    "y_predicted = logits.eval(feed_dict = {X : X_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Inspect learning curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAJwCAYAAAC6d7b8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VNX9x/H3zGQPgxBJgCTsS4AJa0AQlCVQqAuIAqGI\n/qS2QFVUsLLIImItRFIWRaQubbWgQtCCO9KK0EaCKAbFIEFEEJIQlhBD9mTm/v6gTIlJIJNlsn1e\nz+PTmbnn3PudyXnod8587zkmwzAMRERERESkWphrOgARERERkfpMCbeIiIiISDVSwi0iIiIiUo2U\ncIuIiIiIVCMl3CIiIiIi1UgJt4iIiIhINVLCLSJSxxw/fhyz2czu3btrOhQRESkHJdwiIj/z61//\nmpEjR9Z0GGVq3bo1p06don///m675gcffMBNN91Es2bN8PPzo2vXrtx333189913botBRKSuUsIt\nIlJLFBUVlaudyWQiKCgIi8VSzRFd9OSTTzJmzBg6duzIli1bSEpK4q9//Sve3t4sWrSoUucuLCys\noihFRGovJdwiIi6y2+088cQTtG/fHl9fX7p3786LL75YrM2zzz5L7969sVqttGzZkkmTJnHq1Cnn\n8V27dmE2m/nggw+48cYb8fPz4y9/+Quvvvoqnp6e7N69m4iICPz9/enbty9ffPGFs+/PS0ouPd+8\neTNjxozB39+fDh068OqrrxaL6dixY4wcORJfX1/atm3L888/z7Bhw5g2bVqZ73Xfvn088cQTLFu2\njDVr1nDjjTfSqlUrrr/+elavXs0LL7xQ7P2kpKQU6+/p6cnf//73YnG+/vrr3HLLLVitVhYsWECb\nNm2Ijo4u1q+goICAgAD++te/Ol9bs2YNXbt2xdfXl7CwMJYuXYrdbncef/vtt+nTpw/+/v40bdqU\nAQMG8NVXX5X9hxQRcRMl3CIiLvrNb37D1q1beemllzh06BCPP/448+bN429/+5uzjclkYsWKFXzz\nzTds3bqVEydOMGnSpBLnevTRR5k3bx7ffvsto0ePBsDhcDB//nzWrFlDQkICQUFBTJw4EYfDUez8\nP/fYY49xzz33cODAAX71q1/x29/+liNHjjiPjx07lgsXLhAXF8c777zD+++/T0JCwhXf6/r16/H3\n92fWrFmlHr/mmmuuGFNp5s2bx+TJk/nmm2944IEHmDx5MuvXry/WZuvWrRQUFBAVFQXAE088wcqV\n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\n/w/CcBzwWbsqjQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc7bc7ee710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plot the training + testing loss and accuracy\n",
    "%matplotlib inline\n",
    "plt.style.use(\"ggplot\")\n",
    "plt.figure()\n",
    "\n",
    "num_epochs_trained = len(train_loss_log)\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_loss_log, label=\"train loss\", c = \"red\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_loss_log, label=\"validation loss\",c = \"orange\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_acc_log, label=\"train accuracy\", c = \"blue\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_acc_log, label=\"validation accuracy\", c = \"green\")\n",
    "\n",
    "plt.title(\"Learning Curves\")\n",
    "plt.xlabel(\"Epoch number\")\n",
    "plt.ylabel(\"Accuracy/Loss\")\n",
    "plt.ylim([0, 4])\n",
    "plt.yticks(np.arange(0, 4, 0.2))\n",
    "\n",
    "plt.legend()\n",
    "\n",
    "plt.gcf().set_size_inches((12, 10))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Notice that around epoch 9, the validation loss starts to diverge from training loss. Beyond this point, the training loss stagnates and the validation loss increases. As the validation loss is increasing, we are entering the 'overfitting zone'. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Classification report"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification report:\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "         s1       1.00      0.33      0.50         3\n",
      "         s2       1.00      1.00      1.00         1\n",
      "         s3       0.29      1.00      0.44         2\n",
      "         s4       1.00      1.00      1.00         4\n",
      "         s5       1.00      0.33      0.50         3\n",
      "         s6       0.67      0.67      0.67         3\n",
      "         s7       1.00      0.33      0.50         6\n",
      "         s8       1.00      1.00      1.00         2\n",
      "         s9       1.00      1.00      1.00         2\n",
      "        s10       1.00      1.00      1.00         2\n",
      "        s11       1.00      0.67      0.80         3\n",
      "        s12       0.00      0.00      0.00         2\n",
      "        s13       1.00      1.00      1.00         1\n",
      "        s14       1.00      0.67      0.80         3\n",
      "        s15       1.00      1.00      1.00         2\n",
      "        s16       0.00      0.00      0.00         0\n",
      "        s17       1.00      1.00      1.00         3\n",
      "        s18       1.00      1.00      1.00         1\n",
      "        s19       1.00      1.00      1.00         1\n",
      "        s20       0.00      0.00      0.00         1\n",
      "        s21       1.00      1.00      1.00         1\n",
      "        s22       1.00      1.00      1.00         3\n",
      "        s23       1.00      1.00      1.00         2\n",
      "        s24       1.00      1.00      1.00         1\n",
      "        s25       0.25      1.00      0.40         1\n",
      "        s26       1.00      0.50      0.67         4\n",
      "        s27       1.00      1.00      1.00         2\n",
      "        s28       0.00      0.00      0.00         2\n",
      "        s29       1.00      1.00      1.00         1\n",
      "        s30       0.00      0.00      0.00         0\n",
      "        s31       0.33      0.67      0.44         3\n",
      "        s32       1.00      1.00      1.00         1\n",
      "        s33       1.00      1.00      1.00         1\n",
      "        s34       1.00      1.00      1.00         1\n",
      "        s35       0.67      1.00      0.80         2\n",
      "        s36       1.00      1.00      1.00         2\n",
      "        s37       1.00      1.00      1.00         4\n",
      "        s38       0.80      1.00      0.89         4\n",
      "\n",
      "avg / total       0.85      0.76      0.77        80\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import classification_report\n",
    "\n",
    "print(\"Classification report:\")\n",
    "print(classification_report(y_test.argmax(axis=1), y_predicted.argmax(axis=1), target_names = labels_list_faces))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  CNN regularized with dropout"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### dropout rates 0.20 after pooling and fully connected layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "EPOCH 0\n",
      "Train accuracy = 0.03125, train loss = 114.26437377929688\n",
      "Validation loss: 89.81135559082031, minimum loss: 89.81135559082031, validation accuracy: 0.02500000037252903\n",
      " \n",
      "EPOCH 1\n",
      "Train accuracy = 0.015625, train loss = 12.21194839477539\n",
      "Validation loss: 10.932772636413574, minimum loss: 10.932772636413574, validation accuracy: 0.02500000037252903\n",
      " \n",
      "EPOCH 2\n",
      "Train accuracy = 0.125, train loss = 3.08994460105896\n",
      "Validation loss: 3.543710231781006, minimum loss: 3.543710231781006, validation accuracy: 0.11249999701976776\n",
      " \n",
      "EPOCH 3\n",
      "Train accuracy = 0.453125, train loss = 2.182443618774414\n",
      "Validation loss: 2.873521089553833, minimum loss: 2.873521089553833, validation accuracy: 0.26249998807907104\n",
      " \n",
      "EPOCH 4\n",
      "Train accuracy = 0.59375, train loss = 1.5426392555236816\n",
      "Validation loss: 2.4079458713531494, minimum loss: 2.4079458713531494, validation accuracy: 0.375\n",
      " \n",
      "EPOCH 5\n",
      "Train accuracy = 0.609375, train loss = 1.3625125885009766\n",
      "Validation loss: 1.9501311779022217, minimum loss: 1.9501311779022217, validation accuracy: 0.550000011920929\n",
      " \n",
      "EPOCH 6\n",
      "Train accuracy = 0.703125, train loss = 1.0973104238510132\n",
      "Validation loss: 1.624353051185608, minimum loss: 1.624353051185608, validation accuracy: 0.625\n",
      " \n",
      "EPOCH 7\n",
      "Train accuracy = 0.78125, train loss = 0.812471866607666\n",
      "Validation loss: 1.7364368438720703, minimum loss: 1.624353051185608, validation accuracy: 0.612500011920929\n",
      " \n",
      "EPOCH 8\n",
      "Train accuracy = 0.75, train loss = 0.8199752569198608\n",
      "Validation loss: 1.5747146606445312, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 9\n",
      "Train accuracy = 0.828125, train loss = 0.5794779658317566\n",
      "Validation loss: 1.7909437417984009, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 10\n",
      "Train accuracy = 0.796875, train loss = 1.1539332866668701\n",
      "Validation loss: 1.9869439601898193, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 11\n",
      "Train accuracy = 0.734375, train loss = 1.333946943283081\n",
      "Validation loss: 1.891031265258789, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 12\n",
      "Train accuracy = 0.734375, train loss = 1.2946503162384033\n",
      "Validation loss: 1.8078266382217407, minimum loss: 1.5747146606445312, validation accuracy: 0.7250000238418579\n",
      " \n",
      "EPOCH 13\n",
      "Train accuracy = 0.796875, train loss = 0.9619781374931335\n",
      "Validation loss: 1.914181113243103, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 14\n",
      "Train accuracy = 0.765625, train loss = 0.8914602994918823\n",
      "Validation loss: 1.9869972467422485, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 15\n",
      "Train accuracy = 0.796875, train loss = 0.8015806674957275\n",
      "Validation loss: 2.0492045879364014, minimum loss: 1.5747146606445312, validation accuracy: 0.675000011920929\n",
      " \n",
      "EPOCH 16\n",
      "Train accuracy = 0.84375, train loss = 1.1981616020202637\n",
      "Validation loss: 2.1499974727630615, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 17\n",
      "Train accuracy = 0.734375, train loss = 1.3187801837921143\n",
      "Validation loss: 2.246901035308838, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 18\n",
      "Train accuracy = 0.828125, train loss = 0.8513654470443726\n",
      "Validation loss: 2.272846221923828, minimum loss: 1.5747146606445312, validation accuracy: 0.675000011920929\n",
      " \n",
      "EPOCH 19\n",
      "Train accuracy = 0.765625, train loss = 1.6327435970306396\n",
      "Validation loss: 2.2940056324005127, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 20\n",
      "Train accuracy = 0.71875, train loss = 1.5774919986724854\n",
      "Validation loss: 2.3143362998962402, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 21\n",
      "Train accuracy = 0.8125, train loss = 1.0605076551437378\n",
      "Validation loss: 2.331350803375244, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 22\n",
      "Train accuracy = 0.765625, train loss = 1.2410554885864258\n",
      "Validation loss: 2.3489654064178467, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 23\n",
      "Train accuracy = 0.796875, train loss = 0.8489574790000916\n",
      "Validation loss: 2.358442783355713, minimum loss: 1.5747146606445312, validation accuracy: 0.6875\n",
      " \n",
      "EPOCH 24\n",
      "Train accuracy = 0.78125, train loss = 0.8500969409942627\n",
      "Validation loss: 2.364051103591919, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 25\n",
      "Train accuracy = 0.75, train loss = 1.4073872566223145\n",
      "Validation loss: 2.374166965484619, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 26\n",
      "Train accuracy = 0.75, train loss = 1.3344612121582031\n",
      "Validation loss: 2.391010284423828, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 27\n",
      "Train accuracy = 0.734375, train loss = 1.1500345468521118\n",
      "Validation loss: 2.4170727729797363, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 28\n",
      "Train accuracy = 0.84375, train loss = 0.9424744844436646\n",
      "Validation loss: 2.431941509246826, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 29\n",
      "Train accuracy = 0.890625, train loss = 0.4795653820037842\n",
      "Validation loss: 2.4347782135009766, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 30\n",
      "Train accuracy = 0.84375, train loss = 0.9314697980880737\n",
      "Validation loss: 2.409872531890869, minimum loss: 1.5747146606445312, validation accuracy: 0.7250000238418579\n",
      " \n",
      "EPOCH 31\n",
      "Train accuracy = 0.765625, train loss = 1.0967031717300415\n",
      "Validation loss: 2.437175750732422, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 32\n",
      "Train accuracy = 0.71875, train loss = 2.1901845932006836\n",
      "Validation loss: 2.5662004947662354, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 33\n",
      "Train accuracy = 0.78125, train loss = 1.4717570543289185\n",
      "Validation loss: 2.5946872234344482, minimum loss: 1.5747146606445312, validation accuracy: 0.7250000238418579\n",
      " \n",
      "EPOCH 34\n",
      "Train accuracy = 0.828125, train loss = 0.8265425562858582\n",
      "Validation loss: 2.5303707122802734, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 35\n",
      "Train accuracy = 0.703125, train loss = 2.167186737060547\n",
      "Validation loss: 2.601976156234741, minimum loss: 1.5747146606445312, validation accuracy: 0.7250000238418579\n",
      " \n",
      "EPOCH 36\n",
      "Train accuracy = 0.703125, train loss = 2.128554344177246\n",
      "Validation loss: 2.653201103210449, minimum loss: 1.5747146606445312, validation accuracy: 0.699999988079071\n",
      " \n",
      "EPOCH 37\n",
      "Train accuracy = 0.78125, train loss = 0.6494367718696594\n",
      "Validation loss: 2.600245952606201, minimum loss: 1.5747146606445312, validation accuracy: 0.7124999761581421\n",
      " \n",
      "EPOCH 38\n",
      "Train accuracy = 0.65625, train loss = 2.5850346088409424\n",
      "Validation loss: 2.5283362865448, minimum loss: 1.5747146606445312, validation accuracy: 0.7250000238418579\n",
      " \n",
      "** EARLY STOPPING ** \n",
      "Training took 3.299842 minutes\n",
      "INFO:tensorflow:Restoring parameters from ./face_rec_CNNmodel_drop1\n",
      "Final test accuracy = 0.6875\n"
     ]
    }
   ],
   "source": [
    "dense_drop_rate = 0.20\n",
    "conv_drop_rate = 0.20\n",
    "\n",
    "width = 64\n",
    "height = 64\n",
    "\n",
    "n_features = height*width\n",
    "channels = 1\n",
    "\n",
    "feature_map1 = 64\n",
    "ksize_conv1 = 2\n",
    "stride_conv1 = 1\n",
    "\n",
    "feature_map2 = 64\n",
    "ksize_conv2 = ksize_conv1\n",
    "stride_conv2 = stride_conv1\n",
    "\n",
    "pool_layer_maps2 = feature_map2\n",
    "\n",
    "n_fully_conn1 = 64\n",
    "  \n",
    "X = tf.placeholder(tf.float32, shape=[None, height, width])\n",
    "X_reshaped = tf.reshape(X, shape=[-1, height, width, channels])\n",
    "y = tf.placeholder(tf.int32, shape=[None, n_classes])\n",
    "training_ = tf.placeholder_with_default(False, shape=[])\n",
    "\n",
    "xavier_init = tf.contrib.layers.xavier_initializer()\n",
    "relu_act = tf.nn.relu\n",
    "\n",
    "# ------------------ Convolutional and pooling layers ----------------------------\n",
    "\n",
    "def convolutional_layer(X, filter_, ksize, kernel_init, strides, padding):\n",
    "    convolutional_layer = tf.layers.conv2d(X, filters = filter_, kernel_initializer = kernel_init,\n",
    "                                           kernel_size = ksize, strides = strides,\n",
    "                                          padding = padding, activation = relu_act)\n",
    "    return convolutional_layer\n",
    "\n",
    "def pool_layer(convlayer, ksize, strides, padding, pool_maps):\n",
    "    pool = tf.nn.max_pool(convlayer, ksize, strides, padding)\n",
    "    dim1, dim2 = int(pool.get_shape()[1]), int(pool.get_shape()[2])\n",
    "    pool_flat = tf.reshape(pool, shape = [-1, pool_maps * dim1 * dim2])\n",
    "    return pool_flat\n",
    "\n",
    "conv_layer1 = convolutional_layer(X_reshaped, feature_map1, ksize_conv1, xavier_init, stride_conv1, padding = \"SAME\")\n",
    "\n",
    "conv_layer2 = convolutional_layer(conv_layer1, feature_map2, ksize_conv2, xavier_init, stride_conv2, padding = \"SAME\")\n",
    "\n",
    "pool_layer2_flat = pool_layer(conv_layer2, [1,2,2,1], [1,2,2,1], \"VALID\", pool_layer_maps2)\n",
    "\n",
    "pool_layer_drop = tf.layers.dropout(pool_layer2_flat, conv_drop_rate, training = training_)\n",
    "\n",
    "# ----------------- Fully connected layer -------------------\n",
    "\n",
    "def dense_layer(input_layer, n_neurons, kernel_init, activation):\n",
    "    fully_conn = tf.layers.dense(inputs = input_layer, units = n_neurons, activation = activation,\n",
    "                                kernel_initializer = kernel_init)\n",
    "    return fully_conn\n",
    "        \n",
    "dense_layer1 = dense_layer(pool_layer_drop, n_fully_conn1, xavier_init, relu_act)\n",
    "\n",
    "dense_layer_drop = tf.layers.dropout(dense_layer1, dense_drop_rate, training = training_)\n",
    "\n",
    "#--------------------------------------------------------------\n",
    "\n",
    "logits = tf.layers.dense(dense_layer_drop, n_classes)\n",
    "\n",
    "prediction = tf.nn.softmax(logits)\n",
    "\n",
    "xentropy = tf.nn.softmax_cross_entropy_with_logits(labels = y, logits = logits)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "\n",
    "optimizer = tf.train.AdamOptimizer(0.001)\n",
    "train_step = optimizer.minimize(loss)\n",
    "\n",
    "correct_preds = tf.equal(tf.argmax(prediction,1), tf.argmax(y, 1))\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_preds, tf.float32))\n",
    "\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "n_epochs = 100\n",
    "batch_size = 64\n",
    "n_train = X_train.shape[0]\n",
    "n_iter = n_train//batch_size\n",
    "path = \"./face_rec_CNNmodel_drop1\"\n",
    "\n",
    "train_loss_log, train_acc_log, val_loss_log, val_acc_log = ([] for i in range (4))\n",
    "\n",
    "sess = tf.InteractiveSession()\n",
    "init = tf.global_variables_initializer()\n",
    "init.run()\n",
    "\n",
    "#initialize variables for early stopping\n",
    "min_loss = np.infty\n",
    "epochs_without_improvement = 0 \n",
    "max_epochs_without_improvement = 30\n",
    "\n",
    "start = time()\n",
    "for epoch in range(n_epochs):\n",
    "    for iteration in range(n_iter):\n",
    "        rand_indices = np.random.choice(n_train, batch_size, replace = False)    \n",
    "        X_batch, y_batch = X_train[rand_indices], y_train[rand_indices]\n",
    "        sess.run(train_step, feed_dict={X: X_batch, y: y_batch})\n",
    "        \n",
    "    train_loss, train_acc = sess.run([loss, accuracy], feed_dict={X: X_batch, y: y_batch, training_: True})\n",
    "    train_loss_log.append(train_loss)\n",
    "    train_acc_log.append(train_acc)\n",
    "\n",
    "    val_loss, val_acc, y_pred = sess.run([loss, accuracy, prediction], feed_dict={X: X_test, y: y_test})\n",
    "    val_loss_log.append(val_loss)\n",
    "    val_acc_log.append(val_acc)\n",
    "        \n",
    "    # Early stopping \n",
    "        \n",
    "    if val_loss < min_loss:\n",
    "        save_path = saver.save(sess, path)\n",
    "        min_loss = val_loss\n",
    "        epochs_without_improvement = 0\n",
    "    else:\n",
    "        epochs_without_improvement += 1\n",
    "        if epochs_without_improvement > max_epochs_without_improvement:\n",
    "            print(\"** EARLY STOPPING ** \")\n",
    "            break\n",
    "    print(\"EPOCH {}\".format(epoch))\n",
    "    print(\"Train accuracy = {}, train loss = {}\".format(train_acc, train_loss))\n",
    "    print(\"Validation loss: {}, minimum loss: {}, validation accuracy: {}\".format(val_loss, min_loss, val_acc))\n",
    "    print(\" \")\n",
    "    \n",
    "print(\"Training took %f minutes\"%(float(time() - start)/60.0))\n",
    "\n",
    "saver.restore(sess, path)\n",
    "acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "print(\"Final test accuracy = {}\".format(acc_test))\n",
    "\n",
    "y_predicted = logits.eval(feed_dict = {X : X_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Inspect learning curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc7d00d7908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plot the training + testing loss and accuracy\n",
    "%matplotlib inline\n",
    "plt.style.use(\"ggplot\")\n",
    "plt.figure()\n",
    "\n",
    "num_epochs_trained = len(train_loss_log)\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_loss_log, label=\"train loss\", c = \"red\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_loss_log, label=\"validation loss\",c = \"orange\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_acc_log, label=\"train accuracy\", c = \"blue\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_acc_log, label=\"validation accuracy\", c = \"green\")\n",
    "\n",
    "plt.title(\"Learning Curves\")\n",
    "plt.xlabel(\"Epoch number\")\n",
    "plt.ylabel(\"Accuracy/Loss\")\n",
    "plt.ylim([0, 4])\n",
    "plt.yticks(np.arange(0, 4, 0.2))\n",
    "\n",
    "plt.legend()\n",
    "\n",
    "plt.gcf().set_size_inches((12, 10))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Classification report"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification report:\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       1.00      0.67      0.80         3\n",
      "          1       0.00      0.00      0.00         1\n",
      "          2       1.00      0.50      0.67         2\n",
      "          3       1.00      0.75      0.86         4\n",
      "          4       1.00      0.33      0.50         3\n",
      "          5       1.00      1.00      1.00         3\n",
      "          7       1.00      0.50      0.67         6\n",
      "          8       1.00      1.00      1.00         2\n",
      "          9       0.40      1.00      0.57         2\n",
      "         10       0.67      1.00      0.80         2\n",
      "         11       1.00      1.00      1.00         3\n",
      "         12       0.00      0.00      0.00         2\n",
      "         13       1.00      1.00      1.00         1\n",
      "         14       0.60      1.00      0.75         3\n",
      "         15       0.00      0.00      0.00         2\n",
      "         16       0.00      0.00      0.00         0\n",
      "         17       0.50      1.00      0.67         3\n",
      "         18       1.00      1.00      1.00         1\n",
      "         19       1.00      1.00      1.00         1\n",
      "         20       0.00      0.00      0.00         1\n",
      "         21       1.00      1.00      1.00         1\n",
      "         22       0.33      0.67      0.44         3\n",
      "         23       1.00      1.00      1.00         2\n",
      "         24       0.00      0.00      0.00         1\n",
      "         25       1.00      1.00      1.00         1\n",
      "         26       1.00      0.50      0.67         4\n",
      "         27       0.33      1.00      0.50         2\n",
      "         28       1.00      1.00      1.00         2\n",
      "         29       0.20      1.00      0.33         1\n",
      "         30       0.00      0.00      0.00         0\n",
      "         32       0.00      0.00      0.00         3\n",
      "         33       1.00      1.00      1.00         1\n",
      "         34       0.00      0.00      0.00         1\n",
      "         35       1.00      1.00      1.00         1\n",
      "         36       1.00      1.00      1.00         2\n",
      "         37       1.00      1.00      1.00         2\n",
      "         38       1.00      0.50      0.67         4\n",
      "         39       1.00      0.75      0.86         4\n",
      "\n",
      "avg / total       0.75      0.69      0.68        80\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import classification_report\n",
    "\n",
    "print(\"Classification report:\")\n",
    "print(classification_report(y_test.argmax(axis=1), y_predicted.argmax(axis=1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### dropout rates 0.10 after pooling and fully connected layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "tf.reset_default_graph()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "EPOCH 0\n",
      "Train accuracy = 0.046875, train loss = 98.27532958984375\n",
      "Validation loss: 106.52400207519531, minimum loss: 106.52400207519531, validation accuracy: 0.03750000149011612\n",
      " \n",
      "EPOCH 1\n",
      "Train accuracy = 0.03125, train loss = 5.355100631713867\n",
      "Validation loss: 5.318582534790039, minimum loss: 5.318582534790039, validation accuracy: 0.02500000037252903\n",
      " \n",
      "EPOCH 2\n",
      "Train accuracy = 0.015625, train loss = 3.7680084705352783\n",
      "Validation loss: 3.6761443614959717, minimum loss: 3.6761443614959717, validation accuracy: 0.05000000074505806\n",
      " \n",
      "EPOCH 3\n",
      "Train accuracy = 0.046875, train loss = 3.640495777130127\n",
      "Validation loss: 3.655491590499878, minimum loss: 3.655491590499878, validation accuracy: 0.012500000186264515\n",
      " \n",
      "EPOCH 4\n",
      "Train accuracy = 0.078125, train loss = 3.440314531326294\n",
      "Validation loss: 3.6178970336914062, minimum loss: 3.6178970336914062, validation accuracy: 0.012500000186264515\n",
      " \n",
      "EPOCH 5\n",
      "Train accuracy = 0.09375, train loss = 3.315335273742676\n",
      "Validation loss: 3.6117324829101562, minimum loss: 3.6117324829101562, validation accuracy: 0.012500000186264515\n",
      " \n",
      "EPOCH 6\n",
      "Train accuracy = 0.0625, train loss = 3.2508325576782227\n",
      "Validation loss: 3.5849266052246094, minimum loss: 3.5849266052246094, validation accuracy: 0.03750000149011612\n",
      " \n",
      "EPOCH 7\n",
      "Train accuracy = 0.125, train loss = 3.1352624893188477\n",
      "Validation loss: 3.5543932914733887, minimum loss: 3.5543932914733887, validation accuracy: 0.11249999701976776\n",
      " \n",
      "EPOCH 8\n",
      "Train accuracy = 0.28125, train loss = 2.832355260848999\n",
      "Validation loss: 3.3165810108184814, minimum loss: 3.3165810108184814, validation accuracy: 0.15000000596046448\n",
      " \n",
      "EPOCH 9\n",
      "Train accuracy = 0.328125, train loss = 2.477090358734131\n",
      "Validation loss: 3.098649263381958, minimum loss: 3.098649263381958, validation accuracy: 0.17499999701976776\n",
      " \n",
      "EPOCH 10\n",
      "Train accuracy = 0.328125, train loss = 2.1525516510009766\n",
      "Validation loss: 3.021223545074463, minimum loss: 3.021223545074463, validation accuracy: 0.20000000298023224\n",
      " \n",
      "EPOCH 11\n",
      "Train accuracy = 0.5, train loss = 1.8219101428985596\n",
      "Validation loss: 2.8858349323272705, minimum loss: 2.8858349323272705, validation accuracy: 0.20000000298023224\n",
      " \n",
      "EPOCH 12\n",
      "Train accuracy = 0.4375, train loss = 1.9123597145080566\n",
      "Validation loss: 2.8556060791015625, minimum loss: 2.8556060791015625, validation accuracy: 0.25\n",
      " \n",
      "EPOCH 13\n",
      "Train accuracy = 0.484375, train loss = 1.7842960357666016\n",
      "Validation loss: 2.8828251361846924, minimum loss: 2.8556060791015625, validation accuracy: 0.21250000596046448\n",
      " \n",
      "EPOCH 14\n",
      "Train accuracy = 0.53125, train loss = 1.6608481407165527\n",
      "Validation loss: 2.7500102519989014, minimum loss: 2.7500102519989014, validation accuracy: 0.25\n",
      " \n",
      "EPOCH 15\n",
      "Train accuracy = 0.53125, train loss = 1.6141834259033203\n",
      "Validation loss: 2.9775071144104004, minimum loss: 2.7500102519989014, validation accuracy: 0.2874999940395355\n",
      " \n",
      "EPOCH 16\n",
      "Train accuracy = 0.640625, train loss = 1.1763036251068115\n",
      "Validation loss: 3.122910261154175, minimum loss: 2.7500102519989014, validation accuracy: 0.2750000059604645\n",
      " \n",
      "EPOCH 17\n",
      "Train accuracy = 0.625, train loss = 1.16489839553833\n",
      "Validation loss: 2.9449431896209717, minimum loss: 2.7500102519989014, validation accuracy: 0.30000001192092896\n",
      " \n",
      "EPOCH 18\n",
      "Train accuracy = 0.671875, train loss = 1.1663014888763428\n",
      "Validation loss: 3.082697629928589, minimum loss: 2.7500102519989014, validation accuracy: 0.32499998807907104\n",
      " \n",
      "EPOCH 19\n",
      "Train accuracy = 0.625, train loss = 1.646133542060852\n",
      "Validation loss: 2.79955792427063, minimum loss: 2.7500102519989014, validation accuracy: 0.3375000059604645\n",
      " \n",
      "EPOCH 20\n",
      "Train accuracy = 0.6875, train loss = 1.3729424476623535\n",
      "Validation loss: 3.187178134918213, minimum loss: 2.7500102519989014, validation accuracy: 0.36250001192092896\n",
      " \n",
      "EPOCH 21\n",
      "Train accuracy = 0.71875, train loss = 1.1863131523132324\n",
      "Validation loss: 3.056065797805786, minimum loss: 2.7500102519989014, validation accuracy: 0.4124999940395355\n",
      " \n",
      "EPOCH 22\n",
      "Train accuracy = 0.671875, train loss = 1.1191189289093018\n",
      "Validation loss: 3.2783379554748535, minimum loss: 2.7500102519989014, validation accuracy: 0.4124999940395355\n",
      " \n",
      "EPOCH 23\n",
      "Train accuracy = 0.75, train loss = 1.1486576795578003\n",
      "Validation loss: 3.5590083599090576, minimum loss: 2.7500102519989014, validation accuracy: 0.42500001192092896\n",
      " \n",
      "EPOCH 24\n",
      "Train accuracy = 0.734375, train loss = 1.0359621047973633\n",
      "Validation loss: 3.4650039672851562, minimum loss: 2.7500102519989014, validation accuracy: 0.4625000059604645\n",
      " \n",
      "EPOCH 25\n",
      "Train accuracy = 0.765625, train loss = 1.077544927597046\n",
      "Validation loss: 3.529597520828247, minimum loss: 2.7500102519989014, validation accuracy: 0.4124999940395355\n",
      " \n",
      "EPOCH 26\n",
      "Train accuracy = 0.6875, train loss = 1.4214452505111694\n",
      "Validation loss: 3.4675865173339844, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 27\n",
      "Train accuracy = 0.6875, train loss = 1.1555103063583374\n",
      "Validation loss: 3.2185463905334473, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 28\n",
      "Train accuracy = 0.6875, train loss = 1.1812957525253296\n",
      "Validation loss: 3.4021384716033936, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 29\n",
      "Train accuracy = 0.734375, train loss = 1.3032618761062622\n",
      "Validation loss: 3.825148344039917, minimum loss: 2.7500102519989014, validation accuracy: 0.42500001192092896\n",
      " \n",
      "EPOCH 30\n",
      "Train accuracy = 0.671875, train loss = 1.2635211944580078\n",
      "Validation loss: 2.918592929840088, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 31\n",
      "Train accuracy = 0.75, train loss = 1.1403794288635254\n",
      "Validation loss: 4.169513702392578, minimum loss: 2.7500102519989014, validation accuracy: 0.38749998807907104\n",
      " \n",
      "EPOCH 32\n",
      "Train accuracy = 0.703125, train loss = 1.169445514678955\n",
      "Validation loss: 3.2734367847442627, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 33\n",
      "Train accuracy = 0.765625, train loss = 1.1102063655853271\n",
      "Validation loss: 3.6326560974121094, minimum loss: 2.7500102519989014, validation accuracy: 0.48750001192092896\n",
      " \n",
      "EPOCH 34\n",
      "Train accuracy = 0.6875, train loss = 1.3793003559112549\n",
      "Validation loss: 3.5347423553466797, minimum loss: 2.7500102519989014, validation accuracy: 0.4375\n",
      " \n",
      "EPOCH 35\n",
      "Train accuracy = 0.765625, train loss = 0.9331338405609131\n",
      "Validation loss: 3.3614954948425293, minimum loss: 2.7500102519989014, validation accuracy: 0.5\n",
      " \n",
      "EPOCH 36\n",
      "Train accuracy = 0.734375, train loss = 1.4491934776306152\n",
      "Validation loss: 3.7182974815368652, minimum loss: 2.7500102519989014, validation accuracy: 0.48750001192092896\n",
      " \n",
      "EPOCH 37\n",
      "Train accuracy = 0.6875, train loss = 1.3521161079406738\n",
      "Validation loss: 3.5945327281951904, minimum loss: 2.7500102519989014, validation accuracy: 0.512499988079071\n",
      " \n",
      "EPOCH 38\n",
      "Train accuracy = 0.6875, train loss = 1.3618251085281372\n",
      "Validation loss: 3.477731227874756, minimum loss: 2.7500102519989014, validation accuracy: 0.4749999940395355\n",
      " \n",
      "EPOCH 39\n",
      "Train accuracy = 0.765625, train loss = 1.2162508964538574\n",
      "Validation loss: 3.449697494506836, minimum loss: 2.7500102519989014, validation accuracy: 0.4749999940395355\n",
      " \n",
      "EPOCH 40\n",
      "Train accuracy = 0.6875, train loss = 1.5570790767669678\n",
      "Validation loss: 3.050405263900757, minimum loss: 2.7500102519989014, validation accuracy: 0.5249999761581421\n",
      " \n",
      "EPOCH 41\n",
      "Train accuracy = 0.6875, train loss = 1.8040112257003784\n",
      "Validation loss: 3.162937641143799, minimum loss: 2.7500102519989014, validation accuracy: 0.512499988079071\n",
      " \n",
      "EPOCH 42\n",
      "Train accuracy = 0.796875, train loss = 1.443963885307312\n",
      "Validation loss: 2.9981460571289062, minimum loss: 2.7500102519989014, validation accuracy: 0.5375000238418579\n",
      " \n",
      "EPOCH 43\n",
      "Train accuracy = 0.71875, train loss = 1.6087253093719482\n",
      "Validation loss: 3.333033323287964, minimum loss: 2.7500102519989014, validation accuracy: 0.5\n",
      " \n",
      "EPOCH 44\n",
      "Train accuracy = 0.734375, train loss = 1.3025226593017578\n",
      "Validation loss: 3.36940336227417, minimum loss: 2.7500102519989014, validation accuracy: 0.48750001192092896\n",
      " \n",
      "** EARLY STOPPING ** \n",
      "Training took 3.850960 minutes\n",
      "INFO:tensorflow:Restoring parameters from ./face_rec_CNNmodel_drop2\n",
      "Final test accuracy = 0.25\n"
     ]
    }
   ],
   "source": [
    "dense_drop_rate = 0.10\n",
    "conv_drop_rate = 0.10\n",
    "\n",
    "width = 64\n",
    "height = 64\n",
    "\n",
    "n_features = height*width\n",
    "channels = 1\n",
    "\n",
    "feature_map1 = 64\n",
    "ksize_conv1 = 2\n",
    "stride_conv1 = 1\n",
    "\n",
    "feature_map2 = 64\n",
    "ksize_conv2 = ksize_conv1\n",
    "stride_conv2 = stride_conv1\n",
    "\n",
    "pool_layer_maps2 = feature_map2\n",
    "\n",
    "n_fully_conn1 = 64\n",
    "  \n",
    "X = tf.placeholder(tf.float32, shape=[None, height, width])\n",
    "X_reshaped = tf.reshape(X, shape=[-1, height, width, channels])\n",
    "y = tf.placeholder(tf.int32, shape=[None, n_classes])\n",
    "training_ = tf.placeholder_with_default(False, shape=[])\n",
    "\n",
    "xavier_init = tf.contrib.layers.xavier_initializer()\n",
    "relu_act = tf.nn.relu\n",
    "\n",
    "# ------------------ Convolutional and pooling layers ----------------------------\n",
    "\n",
    "def convolutional_layer(X, filter_, ksize, kernel_init, strides, padding):\n",
    "    convolutional_layer = tf.layers.conv2d(X, filters = filter_, kernel_initializer = kernel_init,\n",
    "                                           kernel_size = ksize, strides = strides,\n",
    "                                          padding = padding, activation = relu_act)\n",
    "    return convolutional_layer\n",
    "\n",
    "def pool_layer(convlayer, ksize, strides, padding, pool_maps):\n",
    "    pool = tf.nn.max_pool(convlayer, ksize, strides, padding)\n",
    "    dim1, dim2 = int(pool.get_shape()[1]), int(pool.get_shape()[2])\n",
    "    pool_flat = tf.reshape(pool, shape = [-1, pool_maps * dim1 * dim2])\n",
    "    return pool_flat\n",
    "\n",
    "conv_layer1 = convolutional_layer(X_reshaped, feature_map1, ksize_conv1, xavier_init, stride_conv1, padding = \"SAME\")\n",
    "\n",
    "conv_layer2 = convolutional_layer(conv_layer1, feature_map2, ksize_conv2, xavier_init, stride_conv2, padding = \"SAME\")\n",
    "\n",
    "pool_layer2_flat = pool_layer(conv_layer2, [1,2,2,1], [1,2,2,1], \"VALID\", pool_layer_maps2)\n",
    "\n",
    "pool_layer_drop = tf.layers.dropout(pool_layer2_flat, conv_drop_rate, training = training_)\n",
    "\n",
    "# ----------------- Fully connected layer -------------------\n",
    "\n",
    "def dense_layer(input_layer, n_neurons, kernel_init, activation):\n",
    "    fully_conn = tf.layers.dense(inputs = input_layer, units = n_neurons, activation = activation,\n",
    "                                kernel_initializer = kernel_init)\n",
    "    return fully_conn\n",
    "        \n",
    "dense_layer1 = dense_layer(pool_layer_drop, n_fully_conn1, xavier_init, relu_act)\n",
    "\n",
    "dense_layer_drop = tf.layers.dropout(dense_layer1, dense_drop_rate, training = training_)\n",
    "\n",
    "#--------------------------------------------------------------\n",
    "\n",
    "logits = tf.layers.dense(dense_layer_drop, n_classes)\n",
    "\n",
    "prediction = tf.nn.softmax(logits)\n",
    "\n",
    "xentropy = tf.nn.softmax_cross_entropy_with_logits(labels = y, logits = logits)\n",
    "loss = tf.reduce_mean(xentropy)\n",
    "\n",
    "optimizer = tf.train.AdamOptimizer(0.001)\n",
    "train_step = optimizer.minimize(loss)\n",
    "\n",
    "correct_preds = tf.equal(tf.argmax(prediction,1), tf.argmax(y, 1))\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_preds, tf.float32))\n",
    "\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "n_epochs = 100\n",
    "batch_size = 64\n",
    "n_train = X_train.shape[0]\n",
    "n_iter = n_train//batch_size\n",
    "path = \"./face_rec_CNNmodel_drop2\"\n",
    "\n",
    "train_loss_log, train_acc_log, val_loss_log, val_acc_log = ([] for i in range (4))\n",
    "\n",
    "sess = tf.InteractiveSession()\n",
    "init = tf.global_variables_initializer()\n",
    "init.run()\n",
    "\n",
    "#initialize variables for early stopping\n",
    "min_loss = np.infty\n",
    "epochs_without_improvement = 0 \n",
    "max_epochs_without_improvement = 30\n",
    "\n",
    "start = time()\n",
    "for epoch in range(n_epochs):\n",
    "    for iteration in range(n_iter):\n",
    "        rand_indices = np.random.choice(n_train, batch_size, replace = False)    \n",
    "        X_batch, y_batch = X_train[rand_indices], y_train[rand_indices]\n",
    "        sess.run(train_step, feed_dict={X: X_batch, y: y_batch})\n",
    "        \n",
    "    train_loss, train_acc = sess.run([loss, accuracy], feed_dict={X: X_batch, y: y_batch, training_: True})\n",
    "    train_loss_log.append(train_loss)\n",
    "    train_acc_log.append(train_acc)\n",
    "\n",
    "    val_loss, val_acc, y_pred = sess.run([loss, accuracy, prediction], feed_dict={X: X_test, y: y_test})\n",
    "    val_loss_log.append(val_loss)\n",
    "    val_acc_log.append(val_acc)\n",
    "        \n",
    "    # Early stopping \n",
    "        \n",
    "    if val_loss < min_loss:\n",
    "        save_path = saver.save(sess, path)\n",
    "        min_loss = val_loss\n",
    "        epochs_without_improvement = 0\n",
    "    else:\n",
    "        epochs_without_improvement += 1\n",
    "        if epochs_without_improvement > max_epochs_without_improvement:\n",
    "            print(\"** EARLY STOPPING ** \")\n",
    "            break\n",
    "    print(\"EPOCH {}\".format(epoch))\n",
    "    print(\"Train accuracy = {}, train loss = {}\".format(train_acc, train_loss))\n",
    "    print(\"Validation loss: {}, minimum loss: {}, validation accuracy: {}\".format(val_loss, min_loss, val_acc))\n",
    "    print(\" \")\n",
    "    \n",
    "print(\"Training took %f minutes\"%(float(time() - start)/60.0))\n",
    "\n",
    "saver.restore(sess, path)\n",
    "acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n",
    "print(\"Final test accuracy = {}\".format(acc_test))\n",
    "\n",
    "y_predicted = logits.eval(feed_dict = {X : X_test})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inspect learning curves"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtwAAAJwCAYAAAC6d7b8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFX6+PHP3OmTTBokQBKKtCAJNYA0BbIIqy5FaSK6\nsCpgAQUVjUjXhSgrUhZR1F0RUYpIsKIrIN8fEEQxIAQIAoKQhEAa6dPu/f0xMhKSkJlk0uC8Xy9f\nZubee+4zhwk8c+ac56gURVEQBEEQBEEQBKFaSLUdgCAIgiAIgiDcyETCLQiCIAiCIAjVSCTcgiAI\ngiAIglCNRMItCIIgCIIgCNVIJNyCIAiCIAiCUI1Ewi0IgiAIgiAI1Ugk3IIgCPXM2bNnkSSJvXv3\n1nYogiAIghtEwi0IgnCNf/zjHwwaNKi2wyhXs2bNuHDhArfddluN3fOrr77irrvuomHDhphMJm69\n9VYef/xxfv311xqLQRAEob4SCbcgCEIdYbfb3TpPpVIREhKCWq2u5oicFixYwNChQ2ndujVbtmwh\nOTmZ//znP+j1embPnl2ltm02m5eiFARBqLtEwi0IguAhh8PBvHnzaNmyJUajkQ4dOrB69eoS5yxf\nvpwuXbpgNptp0qQJY8eO5cKFC67ju3btQpIkvvrqK26//XZMJhPvvfcea9asQavVsnfvXqKjo/Hx\n8aFbt2789NNPrmuvnVJy5fGmTZsYOnQoPj4+tGrVijVr1pSI6cyZMwwaNAij0UiLFi148803GTBg\nAJMmTSr3tR44cIB58+axaNEiVqxYwe23307Tpk3p1asXS5cu5e233y7xelJTU0tcr9Vq+eCDD0rE\n+dFHH3HPPfdgNpt56aWXaN68OXFxcSWus1qtBAUF8Z///Mf13IoVK7j11lsxGo1ERESwcOFCHA6H\n6/jWrVvp2rUrPj4+BAYG0rNnTw4dOlT+H6QgCEINEQm3IAiChx555BHi4+N55513OH78OHPmzCE2\nNpb//ve/rnNUKhWvv/46R44cIT4+nnPnzjF27NhSbT333HPExsZy7NgxhgwZAoAsy8ycOZMVK1aQ\nmJhISEgIY8aMQZblEu1f68UXX2T8+PEcPnyY+++/n0cffZSTJ0+6jg8fPpy8vDx2797NZ599xpdf\nfkliYuJ1X+vatWvx8fFh+vTpZR739/e/bkxliY2NZdy4cRw5coQnn3yScePGsXbt2hLnxMfHY7Va\nGT16NADz5s1jyZIlvPrqqxw/fpxly5axevVqFixYAEB6ejqjR49m3LhxHD16lH379jFt2jQ0Go1b\nMQmCIFQrRRAEQShhwoQJyp133lnmsd9++02RJElJTk4u8fyCBQuUzp07l9vmzz//rEiSpKSmpiqK\noijff/+9olKplHXr1pU47/3331ckSVIOHjzoeu6HH35QJElSTpw4oSiKopw5c0ZRqVTKnj17Sjxe\nunSp6xqHw6GYzWZl9erViqIoyrfffqtIkqScPn3adU5WVpZiMpmUiRMnlhv33XffrXTq1Knc41d8\n//33iiRJSkpKSonnNRqNsmbNmhJx/vOf/yxxzvHjxxVJkpSffvrJ9dzf/vY35YEHHlAURVEKCwsV\nk8mkfPPNNyWu++CDD5SAgABFURQlMTFRkSRJOXv2bIWxCoIg1DTx0V8QBMEDP/30E4qi0K1bNxRF\ncT1vt9vRarWux99//z1xcXEcPXqUnJwc1+j02bNnadKkCeAcEe7evXupe6hUKjp27Oh6HBoaiqIo\npKen06ZNm3Jj69Spk+tnSZIICQkhPT0dgGPHjtGwYUNuueUW1zmBgYFERERc9/UqiuL2yLW7rn3N\nERERdOvWjbVr1xIdHc3Fixf55ptv+PLLLwFISkqiqKiIESNGlLjO4XBgtVrJzMykY8eODBo0iMjI\nSO6880769+/PfffdR3h4uFdjFwRBqAwxpUQQBMEDsiyjUqlISEjg0KFDrv+SkpJc84XPnTvHPffc\nQ8uWLdmwYQMHDhzgs88+Q1EUrFZrifZ8fHxK3UOSpBJJ7pWfr55SUhadTlfisUqlqnAaSkUiIiI4\nefJkhQs6Jcn5z8nVH0JkWS4z5rJe8/jx41m/fj0Oh4OPPvqI4OBgBg4c6GoH4JNPPinR50eOHOHE\niRMEBQUhSRJff/01O3fupEePHmzevJm2bdvy1VdfefyaBUEQvE0k3IIgCB6Ijo4GnCPVLVu2LPHf\nldHjH3/8keLiYt544w169epFmzZtuHDhgtdHij3Rvn17Ll26xOnTp13PZWdnc+LEiete9+CDD1JY\nWMiSJUvKPJ6TkwNASEgIiqKUWDSZmJhYIgG/nrFjx3L58mW+/vpr1q5dy4MPPujqr8jISAwGA6dO\nnSrV5y1btizRr926dSM2NpZdu3bRr1+/EvPqBUEQaouYUiIIglCG/Pz8UhUuDAYDERER/OMf/2Di\nxIm8+uqr9OrVi4KCAg4cOEBGRgYzZsygTZs2qFQq/vWvfzFu3DgOHjzIyy+/XOoe7iaj3jBw4EA6\nduzIQw89xLJly9BqtcyaNQutVnvdDwLR0dHMnj2bmTNn8vvvvzNmzBiaN29OamoqGzduJDU1lfXr\n19O6dWuaN2/uWtx46dIlXnrpJdfId0UCAwO5++67mTNnDocOHXJVNgHniPjMmTOZOXOm67XY7XYO\nHz5MYmIicXFxJCQksH37dgYNGkSTJk04ceIEv/zyCxMnTqxaxwmCIHiBSLgFQRDK8MMPP9C1a9cS\nz0VERHD06FFWr17NkiVLWLhwIadPn8bPz4/IyEimTJkCQIcOHVixYgVxcXEsXLiQ6Oholi1bxl13\n3VWiPU9GvK89t6LHZT0XHx/PpEmTuOOOOwgODiY2NpaLFy9iMBiue+958+bRvXt3VqxYwfDhwykq\nKqJ58+b85S9/YeHChQCo1Wo2btzIE088QdeuXWnbti3//ve/GTBggNuvefz48dx777106dKFyMjI\nEsdmzZpFWFgYK1as4LnnnsNoNNK2bVsmTJgAOKulJCQk8Oabb5KdnU3jxo156KGHmDVr1nVfmyAI\nQk1QKTU5xCIIgiDUGfn5+YSHh/PPf/6TJ598srbDEQRBuGHdEHO4k5KSajuEekP0lXtEP7lH9JP7\n6kJfff7553z99decOXOGH374gdGjRyNJkqvWdV1QF/qpvhB95R7RT+4R/eS+yvSVSLhvMqKv3CP6\nyT2in9xXF/qqsLCQ5557jqioKIYOHQrA7t27CQ4OruXI/lQX+qm+EH3lHtFP7hH95L7K9JWYwy0I\ngnCTGDNmDGPGjKntMARBEG46N8QItyAIgiAIgiDUVWLRpCAIgiAIgiBUoxtmSsnVmy1UF+OFTZi/\nW0q+8hiFDz1U7ferDmazmby8vNoOo84T/eQe0U/uE33lHtFP7vOkrzT5SQQee5pL3b/780nZRpP/\n15a0238F6YZJB0oR7yn3iH5yX2hoqMfXiCklHpA1/mBSkC5fru1QBEEQBMFtamsmsrZBySclLbI2\nCLU1vXaCEoSbiEi4PaBo/EHvQCUSbkEQBKEekWwZOHQNSz3vMISjLk6phYgE4eYiEm4PyBp/VDqr\nGOEWBEEQ6hXJmlF6hBuwG8JQW87XQkSCcHMRCbcHZK0/KrUFKTu7tkMRBEEQBLdJtkxkXemE26EX\nI9yCUBNu3FUS1UDR+KOSisQItyAIglCvSNZMbH7NSj3vMISizT9WCxFVzNfXF5VKVeV21Go1ZrPZ\nCxHd2EQ/laYoCvn5+V5pSyTcHlAkIyCjyhcj3IIgCEL9obZlYClnDrchc3stRFQxlUolqmYItcqb\nH0DElBJPqFQoki+SNae2IxEEQRAEt0nWDBxlzOF26MNQF4s53IJQ3UTC7SFZG4BkF1NKBEEQhPrD\nOYe7nCollhQQe+AJQrUSCbeHZF0gKgrB4ajtUARBEATBLc4qJaUTbkVjBtSo7OKbW0GoTiLh9pCs\n8UdpaBS1uAVBEIR6QeUoQqU4UNQ+ZR53GMJEpZJaEBsby7Jlyyp17ciRI1m/fr2XIxKqk0i4PSRr\nnQm3qFQiCIIg1AeSLROHrgGUU/HDYQhDYxEJtyd69uzJ7t27q9RGXFwcTz/9tJciEuo6kXB7SNH4\nowTqRcItCIIg1AvlTSe5QtTi9j6HmHYqXEMk3B6SNX4QqBUJtyAIglAvSLaMMhdMXuGcUiIqlbjr\nqaeeIiUlhQkTJhAREcFbb73F+fPnCQ8PZ/369fTo0YMxY8YAMHnyZLp06UL79u0ZOXIkJ06ccLUz\nffp0Fi9eDEBCQgLdunXj7bffplOnTkRHR7Nhwwa34lEUhaVLl3LbbbfRuXNnpk2b5iqnaLFYmDp1\nKlFRUbRv356//e1vZGZmArBhwwZ69+5NREQEvXv3Jj4+3pvdJFxDJNwekjUBKGY1qhyxwEQQBEGo\n+yRrZpnbul/h3N5djHC7a/ny5YSFhbFmzRqSk5N57LHHXMf27dvHrl27WLduHQAxMTHs3buXQ4cO\nERUVxZQpU8pt99KlSxQUFPDzzz+zePFiXnrpJXJzcyuMZ8OGDXzyySds3ryZhIQECgoKmDVrFgCb\nNm0iPz+fAwcOkJSURFxcHAaDgaKiIubOncu6detITk5m69atREZGVrFnhOsRG994SNH4ga8KSSTc\ngiAIQj2grmiEW18/F02GhoV5pZ3UlMq9duWaUooqlYrnnnsOo9Hoeu7KSDc4R7Tfffdd8vPz8fX1\nLdWeVqtl2rRpSJJETEwMPj4+nDp1ii5dulw3ji1btjBp0iTCw8MB52LMgQMH8sYbb6DVasnOzub0\n6dPceuutREVFAVBUVIRareb48eM0adKE4OBggoODK9UPgntEwu0hWeMPJgUpRUwpEQRBEOo+yZqB\nQxdS7nFHPR3hrmyiXJ2aNGni+lmWZeLi4vjyyy/JyspCpVKhUqnIysoqM+EODAxEkv6ceGA0Giko\nKKjwnunp6a5kGyA8PBybzcalS5cYMWIEqampPPHEE+Tm5jJixAheeOEFjEYjq1atYtWqVTz77LN0\n796d2bNn07p16yr2gFAeMaXEQ7LWH5XeIeZwC4IgCPWCc9Ob8qeUyLpGSLYccBTXYFT1m6qcii9X\nP79lyxb+97//sXHjRo4dO8a+fftQFKXUyHhVNWrUiPPn/5yDf/78ebRaLcHBwWg0GqZPn87OnTv5\n7LPP+N///scnn3wCwB133MHHH39MYmIirVq14vnnn/dqXEJJIuH2kKLxB51N1OEWBEEQ6gXnHO7y\np5SgknDoG6O2pNVcUPVccHAwv//+e4nnrk2k8/Pz0el0+Pv7U1hYyKJFi8pN1Kti+PDhvPPOO5w7\nd46CggJeffVVhg4diiRJ7N27l+PHjyPLMiaTCY1GgyRJZGRk8O2331JUVIRWq8XHxwe1Wu312IQ/\niYTbQ7LGH5XGIuZwC4IgCPVCRVVK4Mq0ElGpxF1Tpkxh6dKlREZG8vbbbwOlR71HjRpFWFgY0dHR\nxMTE0K1bN4/ucb3k/Opj999/PyNGjOC+++6jd+/eGI1GXn75ZcC5EHPSpEm0a9eOmJgYevfuzYgR\nI5BlmdWrVxMdHU2HDh3Yt28fixYt8ig+wTMqxdvfbdSS1NTUGrmPypZNoz23Yft3RzL/+FqmPjGb\nza5yQUL5RD+5R/ST+0RfuUf0k/vc7atGe6O51PUzZEP5iwwDjj2NJaA3RU3GlHtOTRPvBaG2lfce\nDA0N9bgtMcLtIUXjh4oipMtihFsQBEGo4xTFOYf7OmUBARyGcDSiFrcgVJsaq1Jis9mYO3cudrsd\nh8NBz549GTVqVIlzMjIyWLlyJYWFhciyzAMPPFBhOZwap1KjSCZUVpFwC4IgCJWnLjyJw9ACpOr7\np1hlz0WR9KA2XPc8hz4MXe5P1RaHINzsaizh1mq1zJ07F71ejyzLzJ49my5dupQoQfPpp5/Su3dv\n7rzzTs6fP8+iRYtYuXJlTYXoNlnj51zRLQiCIAiVoSg0ODSOnHZLsAb2qbbbOEe3rz9/G5wj3OqL\nW6stDkG42dXolBK9Xg84R7sdDkep4yqViqKiIgAKCwsJCgqqyfDcpmgDUamLwWar7VAEQRCEekhd\nfA6N5Xy1b6murqAk4BV2Q6hYNCkI1ahGN76RZZnY2FjS09MZPHhwqQLro0aN4pVXXuHrr7/GYrEw\ne/bsmgzPbbLWHyXYiJSbi9yg4r/IBEEQBOFqupy9AKgt1bvgX7Jm4HBnhFsfhro4DRQZVGJ5lyB4\nW43+VkmSxGuvvcaqVav49ddfSxRqB9i9ezf9+/dn1apVxMbGsmLFipoMz22yxh+loQmVKA0oCIIg\nVII+Zy9W347VvqW6OyUBAVAbkTW+SNaMao1HEG5WtbK1u8lkIjIykoMHD5bYjnTnzp289NJLALRt\n2xabzUZubi5+fn4lrk9KSiIpKcn1ePTo0ZjN5poJHlAbG6JqaMTXZkOuwft6g06nq9G+qq9EP7lH\n9JP7RF+556boJ0XBcHkf1lZPoU/fVunX605f6VR54NvEvXuYmmFWZyObW1UqHm8TG7EItU2tVpf7\nu7Nx40bXz5GRkURGRl63rRpLuHNzc9FoNJhMJqxWK4cPH2bYsGElzmnYsCG//PIL/fv35/z589hs\ntlLJNpT9wmqyVqdKMaLy01CcloalntUIFXVN3SP6yT2in9wn+so9N0M/qYvOYJId5Jq6E1iwutKv\n152+8stPxWFsQYEb99Bom2DJOkGxJqJS8XjbDf/BS6jzHA5Hmb9jZrOZ0aNHe9RWjU0pycnJYf78\n+cyYMYOZM2fSqVMnunbtysaNGzlw4AAADz30ENu3b2fGjBmsWLGCJ598sqbC84is8Qc/tdhtUhAE\nQfCYPnsvloBeOPThqC0pUI37z6kr2tb9Ks7dJqt3isvNLiEhocSOkzExMezbt8+tcz0VGxvLsmXL\nKn19eZYsWcLUqVO93u6NrsZGuJs1a8arr75a6vmrPyGEh4e7tiOty2RtAPiqUF2+XNuhCIIgCPWM\nLicBa0BvFI0PSAYkWzayrnqqckm2DBxuVCmBKwsnf6+WOIQ/Xb0t+44dO9w+93o2btzIxx9/zJYt\nW1zPxcXFVS5AN7gbl/AnsRS5EhSNH0ojMz7vv48qN7e2wxEEQRDqC0VBn7MXS2Bv4MqocvWV45M8\nGuEOr/ZFnEL1UBRFJMF1nEi4K0HW+CM38cPSty+Bjz8OdntthyQIgiDUA+qi06BS4TA0B8CuD6vW\nJNftKiU4k3+NqMVdoZUrVzJp0qQSz82ZM4c5c+YAsGHDBvr3709ERAR9+vThww8/LLetnj17snv3\nbgCKi4uZNm0akZGRxMTEcOjQoVL37dOnDxEREcTExLBt2zYATp48ycyZMzlw4ABt27Z1rXGbPn06\nixcvdl2/bt06+vTpQ1RUFA8//DDp6emuY+Hh4axdu5a+ffsSGRnpKmDhjm+//ZaYmBgiIyMZNWoU\nJ0+eLBFzdHQ0ERER9OvXjz179gBw8OBB7r77btq1a0eXLl1YsGCB2/err0TCXQmyxh/JlkPuvHmg\nKPjdBG8UQRAEoer0OQlYAnrDH6OR1TpvWnEg2S8jawLdOt1Rzcn/jWL48OHs3LmTgoICwLnHyBdf\nfMF9990HQHBwMGvXriU5OZklS5Ywb948jhw5UmG7S5Ys4dy5cyQkJLBu3To2bdpU4niLFi2Ij48n\nOTmZ6dOnM3XqVC5dukTr1q1ZtGgR0dHRnDhxokQVtyt2795NXFwcq1evJjExkbCwMJ544okS52zf\nvp1t27bx7bff8vnnn7Nr164KYz516hRPPvkkCxYs4JdffiEmJobx48djt9s5deoU77//Ptu2bSM5\nOZmPPvqIpk2bAs4PKI8++ijHjx9n7969DBkypMJ71Xe1UhawvlM0/qjsuaDRkL1qFQ2HDMH0wQcU\n/v3vtR2aIAiCUIfpcvZiCbzD9bg6k1zJlo2sNoPk3j/1sjYI5GJU9gLn/PI6LvT7MK+0k9rfs/4P\nCwujQ4cObNu2jREjRrB7926MRiOdO3cGnAshr7jtttvo168f+/fvJyoq6rrtfvHFF8TFxeHn54ef\nnx8PP/wwS5cudR2/5557XD8PGTKEFStWkJiYyKBBgyqMOT4+nrFjx7pGv1988UXat29PSkoKYWHO\nfpwyZQq+vr74+vrSu3dvkpKS6Nev33Xb/fzzzxk4cCB9+/YF4LHHHuPdd9/lp59+onHjxthsNo4f\nP05gYKDrPuAsaXnmzBmysrIICgqiS5cuFb6G+k4k3JUga/yR7M4Fk4q/P1lr1tBw+HDsLVti/eNN\nJwiCIAglKAr6nATybol1PeUwhKLLS6yW20m2TLenkwDOqS5654i7XdO2WmLyJk8TZW8aNmwY8fHx\njBgxgvj4eO69917XsR07dvDGG29w+vRpFEWhuLiYW2+9tcI209PTadKkievx1fuUAGzatIl33nnH\ntWlgYWEh2dnZbsWbnp5Ohw4dXI9NJhOBgYGkpaW5EuHg4GDXcaPR6BrBr6jdq+NUqVSEhoZy4cIF\nevbsyfz581myZAknTpygf//+zJkzh0aNGvGvf/2LxYsX069fP5o3b860adMYOHCgW6+lvhJTSipB\n1vgh2XNdpZwct9xC9qpVBD75JOpTp2o5OkEQBKEu0hSeQlFpcRiaup5zjnBXz/bukjXD7QWTrngM\n4aiLxTzuigwZMoSEhATS0tLYtm0bw4cPB8BqtTJp0iSeeOIJDh8+zNGjRxkwYACKG6UfQ0JCSE39\n871w9W7cKSkpvPDCCyxcuJCjR49y9OhR2rZt62q3ogWTjRo1IiXlzw8oV5L1qxP8ymjUqFGpXcNT\nU1Np3Lgx4PxgsmXLFvbv3w/AwoULAef0mJUrV3L48GEef/xxJk+eTFFRUZViqetEwl0ZagOoJFRy\nsespa+/e5L3wAg0mTBBbvguCIAil6HL2Yr1q/jZU7xxu54JJ90oC1kQ8N5KgoCB69erFM888Q7Nm\nzWjdujUANpsNm81GUFAQkiSxY8cOt+ZCw5/TRC5fvkxqair//e9/XccKCwtRqVQEBQUhyzIbNmwg\nOTnZdTw4OJi0tDRsNluZbQ8fPpwNGzZw9OhRLBYLcXFxdO3atcQ0j8oYMmQI27dvZ8+ePdjtdt56\n6y0MBgPdunXj1KlT7NmzB6vVilarxWAwuHYP/fTTT8nKygL+3ODoRt9ZVCTclSRr/FHZSybWhQ88\nQPFf/kLQ5MlQzpteEARBuDnpc5wb3lxN1oUg2XJAtnj9fp5senOFc8RdjHC7Y/jw4ezevbvEdBIf\nHx8WLFjA5MmTiYyMZOvWrQwePLjcNq4emZ4+fTphYWH06tWLBx98kJEjR7qOtWnThsmTJzNkyBA6\nd+5McnIy3bt3dx3v06cPbdu2pXPnznTs2LHUffr27cuMGTOYOHEi0dHR/P7777z55ptlxlHW4/K0\natWKFStWMGvWLDp27Mh3333H+++/j0ajwWq1smjRIjp27EjXrl3JzMwkNtY5nWrnzp0MGDCAiIgI\n5s+fz6pVq9DpdG7ds75SKe58z1EPXP01TE0I3t+f7Mi3sftcswWuw0HQhAk4wsO5vHBhiZGMuuBm\n2DbZG0Q/uUf0k/tEX7nnhu0nRaHR3s5kdP0Ch7FpiUMh+3qR2fEjHKZbPGqyor4y//YaikpLfovp\nbrdpvLAJfdb/kdN+hUexVIcb9r0g1BvlvQdDQ0M9bkuMcFeSovFHspWx06RaTfabb6Lbtw/T++/X\neFyCIAhC3aMp/BVFbSyVbAOuhYre5pzD7dkOlg5DeLVuxCMINyuRcFeSrPErNaXkCsVsJuv99zEv\nX47ezblbgiAIwo3LNX+7DA5DaLWUBpRsWZ5VKUHU4haE6iIS7kqSNQHOSiXlcDRvTvZbbxEwdSqa\nX3+twcgEQRCEusY5f7uchFsfhtri/WmRlapSom+C2noRZLGDsiB4k0i4K0nW+qPP+h5dzg+o7Pll\nnmO97TZyX3qJoAkTUP2xGlcQBEG4ySgyupyEUgsmr3AYqmdUWW3LwOFhlRIkLbK2AWpresXnCoLg\nNrHxTSUVNR6DKW0dfqdeRlNwHFnfGJtvB2zmDth8o7D5RiHrgigaMwbtr78SNGkSmR99BDf4KlxB\nEAShJE3BCRS1H7Kh7BJsDn0YBsuXXr+vVIkqJfBnLW5HOfEKguA5kXBXks3cgcvmOOcD2Y6m8CTa\n/MNo84/ge3Y72vwjyBo/ZxL+QCRYighYMJ2cBStAEl8sCIIg3CzKKgd4tWoZ4ZYtqOQiFI2/x5fa\nRS1uQfA6kXB7g6TB7tsOu287ihjlfE6RURed/SMJT4J7fTGmfY5hx7dYg3tgCepHUchQZH3j2o1d\nEARBqFa6nASKg+8q97irSomieK2UrHN0O6hS7Tn04WLhpCB4mUi4q4tKwmG6BYfpFopDhgKgPneO\nhn//G9ZZHdHqj2H+cSk23ygKG91HccO7ULSej0QIgiAIddgf87cvt1lQ/ikaH5AMf1QV8XDOdTkk\nWxaytnJtOQyhaPOPeSUOQRCcxNyGGuRo2pSsxe/hM30d+ZonudDrAAWhf8eQ+R2N9t1G4JFHMVz6\nEhzFFTcmCIIg1HmaguMo2gBkfZPrnuftLdWdCyY9n7/tjCW8WqqmCCXFxsaybNmy2g5DqCEi4a5h\ntm7dyH/ySfxefhnURopD/kZ21Luk9/yB4gYD8Un5gMYJXQk4Ph191v+B4qjtkAVBEIRKul45wKvZ\nvVz/ujIlAa+oju3dVfY89Jk7vdpmberZsye7d++uUhtxcXE8/fTTXopIqOtqbEqJzWZj7ty52O12\nHA4HPXv2ZNSoUaXO27t3L5988gkqlYrmzZvz1FNP1VSINaZg/Hh83nsP3f79WHv0AEDR+lPU5H6K\nmtyPZLmA8eJnmH+LI+B4GkXBQyhqdC82c+c6t1W8IAiCUD5d9l7XtMLr8fYIt2TLqPT0FFcsXpxT\nbkzfTMCvL5F7y/PkN3vqhv+3zOFwoFarazuMaiPLMpIoAOGRGustrVbL3Llzee2111i8eDEHDx7k\n5MmTJc53qOhaAAAgAElEQVS5cOECW7du5ZVXXuH1119nwoQJNRVezTIYyHvuOcwLFzr/QruGrG9M\nQdNJZER/RUbnT5C1AQQem0rI/r6Yf3sNY/qn6DP+hy7nBzT5R1EXnUNlyxGj4YIgCHWJIqO//MN1\nK5Rc4e0dHitbEhBA0fgB6nJ3U64MQ+Z3XG79MsaLn+N3ci4ostfarmlPPfUUKSkpTJgwgYiICN56\n6y3Onz9PeHg469evp0ePHowZMwaAyZMn06VLF9q3b8/IkSM5ceKEq53p06ezePFiABISEujWrRtv\nv/02nTp1Ijo6mg0bNpQbw4YNG+jfvz8RERH06dOHDz/8sMTxb775hkGDBtGuXTv69OnDrj92vc7J\nyeGZZ54hOjqayMhIHn30UQA2btzIvffeW6KN8PBwzp4964r1xRdf5KGHHqJt27bs3buX7du3M3jw\nYNq1a0ePHj1YsmRJiev379/PsGHDaN++PT169GDTpk0cOnSIzp07I8t//vl/+eWXDBo0yKM/g/qo\nRhdN6vV6wDna7XCUTg6/++47Bg8ejMlkAsDPz68mw6tRRSNG4PvWW+i/+w7LnXeWe57D1Ir8Fs+Q\n33w62rxfMFz6An3mdiR7Lip7HpIjH5U9F8meh8qRj6I2oqjNyBozisaMrPZz/l9jRtYEoAm5DUnf\nxWsLcwRBEISyafKP4tA2QNY3qvBchyEUXV6i1+6ttmVgNbWs9PVXShXatYFVjkVlL0B3eT/Z7VdR\n2Og+gg5PIOD40+RELAFJW+X2a9ry5cvZv38/r7/+On369AHg/HnnFJx9+/axa9cu1+hvTEwMS5cu\nRaPR8M9//pMpU6bw7bffltnupUuXKCgo4Oeff2bXrl1MmjSJu+66q8xcKDg4mLVr19K0aVN++OEH\nxo0bR+fOnYmKiiIxMZFp06bxzjvv0LdvX9LT08nPd27QN3XqVMxmM99//z0mk4mffvrJ1abqmm8d\nrn28detW1q5dS3R0NFarlZ9//pnly5cTERHB8ePHGTt2LFFRUQwaNIiUlBQeeughFi9ezD333ENe\nXh6pqam0b9+eoKAg/u///o/+/fsDsGXLljJnPNxoajThlmWZ2NhY0tPTGTx4MK1bty5xPC0tDYDZ\ns2ejKAojR46kc+fONRlizVGryY2NxS8ujksxMVDRV08qFTa/Ttj8OpV/jiKjchQ4E/CrE3F7HpIj\nF8maifbcOkIyp+DQh2IN6IUlsDdW/17IuiDvvj5BEISbnD5nL9bAiudvw5URbu8tVJSsmTgqWaUE\nnAm3xpKC3RxV5Vj0ObuxmbugaMwAZHX6mMCkyQQdeYTsyLdR1MZKtRsWFlrl2ABSUirX78o131Cr\nVCqee+45jMY/X8+VkW5wjhK/++675Ofn4+vrW6o9rVbLtGnTkCSJmJgYfHx8OHXqFF26dCl1bkxM\njOvn2267jX79+rF//36ioqJYv349999/P3379gWgUaNGNGrUiIsXL7Jr1y6SkpIwm82ua919fYMG\nDSI6OhoAnU5Hz549XcfatWvH0KFDSUhIYNCgQWzZsoU77riDoUOd06kCAgIICAgAYOTIkWzevJn+\n/fuTnZ3N999/z6JFi8qN40ZRowm3JEm89tprFBYWsnjxYtdXMFc4HA4uXLjA/PnzycjIYO7cubz+\n+uuuEe8bjeXOO1FWrsS4ZQtFI0dWvUGVhHJlZLu8U8xm8i5no80/gj5nL6a09QQcfxaHIRxLQC9n\nEh7QE0UrEnBBEISq0OfspbDRvRWfSHXM4c5ErmSVEvDuFBd95ncUNxjoeqyojWRFvUdA8nM0OHQ/\nmR3WoGgDPG63solydWrS5M9qNLIsExcXx5dffklWVhYqlQqVSkVWVlaZCXdgYGCJedFGo5GCgoIy\n77Njxw7eeOMNTp8+jaIoFBcXc+uttwKQmprKX/7yl1LXpKamEhAQ4Eq2PRUaWvIDTmJiIgsXLiQ5\nORmbzYbVauVvf/ub617Nmzcvs5377ruPAQMGUFRUxOeff07Pnj0JDg6uVEz1Sa3U4TaZTERGRnLw\n4MESCXeDBg1o27YtkiQREhJCaGgoFy5coGXLkl+LJSUlkZSU5Ho8evToSr+Bapv9lVfwnzwZzQMP\nwB9TbqqTTqfD7B8I/rdD2O3YAJtsR7qciDZzN4aLG1AnP4Nsao6jQV8cDe7A3qA33GQj4Dqdrt6+\np2qS6Cf3ib5yzw3TT4oDfe6P2KNXodW78Xp8fZDsOZhNWlAb3LrF9fpKY8/CGNgcg6lyfanxb4XW\nchGpqn8WiowxaweFt87A7FOyLUf3d9EcnUXIL6Mo6rkFxVCydGJdXnR47XSLsp7fsmUL//vf/9i4\ncSNhYWHk5ubSvn37UiPHnrJarUyaNIkVK1YwePBgJEnikUcecbUbGhrqmnt9tdDQUHJycsjLyyv1\nvjGZTBQVFbkeX7x48bqvDWDKlCk8/PDDfPTRR651etnZ2a57HTx4sMz4GzduTHR0NF999RWffvop\n48eP96wDapBarS73d2zjxo2unyMjI4mMjLxuWzWWcOfm5qLRaDCZTFitVg4fPsywYcNKnNO9e3f2\n7NlDv379yM3NJS0tjZCQkFJtlfXC8vLyqjX+atOhA0GtWiGvWkXBI49U++3MZnPZfaVpB43aQaNH\nQbahzfsFfU4CulNv45M4EYexBcVBA7AEDcDqF10v5915otx+EkoQ/eQ+0VfuuVH6SZv3CwZtMLlW\nI1jdez1GXWMKM07gMN3i1vnl9pWi4GO5SJ7ViOKoXF8aaIgxb3+V/yy0eb9gkHzIlUOgjLbymsbi\nq5gx/b87yey4DsdV887r8gev4OBgfv/99xLPXZtI5+fno9Pp8Pf3p7CwkEWLFpWbqHvCZrNhs9kI\nCgpCkiR27NjBrl27aNeuHQBjx45l3LhxDBw4kN69e7vmcLdu3ZoBAwYwc+ZMXnnlFXx8fDhw4AC3\n3XYb7du358SJExw9epRWrVqxZMmSCmMtKCjA398frVZLYmIi8fHx9OvXD4B7772Xf//733zxxRfc\ndddd5Obmkpqa6srdRowYwcqVK0lJSeGvf/1rlfukujgcjjJ/B8xmM6NHj/aorRqrUpKTk8P8+fOZ\nMWMGM2fOpFOnTnTt2pWNGzdy4MABADp37ozZbOaZZ57h5Zdf5qGHHirza5cbTW5sLL4rVqD6Y1FD\nrZO02PyjyW8+haxOH3GhTxKXW78CSPidnEfjvZ0IPDIRY9p6JMuF2o5WEAShztHl7MXqRv3tq7m2\neK8ilaMQUKGoKz8d88qiyarSZ36H5arpJKWoVOQ3n0J+s6k0PDgSTd6RKt+zJkyZMoWlS5cSGRnJ\n22+/DZQeAR41ahRhYWFER0cTExNDt27dPLpHeQmvj48PCxYsYPLkyURGRrJ161YGDx7sOt65c2eW\nLFnC3LlzadeuHSNHjiQ11Tn9Zvny5ajVavr160enTp149913AWjZsiXTpk1jzJgx3H777ded233F\nwoULWbx4Me3atWPZsmWu+doAYWFhrF27lrfeeovIyEgGDx7MsWN/7l7617/+lfPnz3PXXXeVmPN+\nI1MpVf1uo4648maqrwKmTsV+yy3kP/NMtd7HG6NHkuUi+qydGLJ2os/+fzj0oRQ3iMESFPPH6Het\nzFTyqhtllK26iX5yn+gr99wo/RT0y98pbDyK4pAhbl8TcOwpLAF9KGoypuKTKb+v1EVnaXBwNBd7\n/eD2va8lWdIIPnA36b2rVjml4YG7yW05y63Fo4ZLX+F/Ipbs9m9hDex9w7wXhLL16dOHV1991bW4\nsy4q7z147Xx2d4iq5XVE3nPP4fvee0iZmbUdSoVkfQhFTcaQHfkWF3of4nKbfwIq/E7OofHejgQm\nTcKYtgHJkl7boQqCUEkqW3Zth1B/yXZ0l/djdaP+9tWcI9xVHzyq6oJJAFnXCMmWA47iysdhSUdT\ndAarf3e3zi8Ovpvs9qsIPPoYhkvbKn1foe778ssvUalUdTrZ9jaRcNcRjubNKbz3XnyXL6/tUDwj\nabAG9CCvZSwZ3b7hYvedFAf9BUPWDkJ+HEDwT4PwOf9ebUcpCIIHNAXJNN7TCVPK+7UdSr2kzT+C\nQx/qcdLrrWkczm3dq7jXgkrCoW+M2pJW6SYMWTuwBPbzaM2PNbAPWR0/xP/XF5EspRfuCfXfyJEj\neemll1i4cGFth1Kj6v93/zeQ/KefJqR/fwomTsRxVfWW+kTWN6KoyRjnV6KyHV3uzwQmTcQS2A+7\nT+uKGxAEodaZ0jZQ1GgYvuffQ12cQl7LF0Elxmfcpc/Zi8XN+ttXc+jDMFi+rPL91V4Y4YYrpQrP\nu72I81r6zO8obni3x9fZzB3J6PwJ/pbzoGpTqXsLddcnn3xS2yHUCvE3aB0iBwdTMH485n/9q7ZD\n8Y4/Rr8LQ/+Oz/nVtR2NIAjukG0Y0z8lr/k0LnXdiv7yfgKOTQXZUtuR1Ru6nASPF0yCd0e4HZXc\n1r1EPFXZjMdRjD57D5agAZW73NQKm+/1y6wJQn0iEu46Jv+xx9Dv3Inm+PHaDsVrCsLGY7z0BZK1\n7s9PF4SbnSFrB3ZjCxymVijaIDI6rUclW2nwyzhUtsvVe3NFAaW8bbvqCdmG7vKPWP17VnzuNVxV\nSqpYy0CyZSDrqjilBHAYwtEUn6/UtfrL+7D5tKvaLsZS9e9NIQg1RSTcdYzi50f+E09gfvXV2g7F\na2RdQ4qC78GUuqa2QxEEoQLGtA0lq2SojWRHvoXNpz0NE+/12u6D19IUnKDBodH4fNMSU8oHoDiq\n5T7VTZt/GIchvFKJpqLxAcmAZMuqUgySNbPqc7ipWpnCCssBCsJNRiTcdVDB+PFok5LQ/vhjbYfi\nNQXhk/BJ+aBKK94FQahekvUS+pwEioKvKWWnUpPbej6FTcbQMHEYmvykshuoBJW9APOpf9Ig8T6K\nG/6Vop6fYrwYT/BPf0WXs89r96kp+uy9WCoxneQKb2zx7o0qJc5YwlFXZoRbUTBcs527INzsRMJd\nFxkM5D37LH6LFlX5q8W6wu7TBpu5A6b0T2s7FEEQymFM30xxw8EomjI2HFOpKGg6mcut5tDg0Fj0\nWf9XtZspCoZLXxL8Y3/Ulgtc6r6dgvBHkAO6ktl5M3nNpxJw7CkCkx6rtlH16lDZ+dtX2PVVn8et\n9tIcbrshtFLJv6bwBCgKdp+IKscgCDcKkXDXUUUjRiBlZaHfsaO2Q/Ga/KaTnYsn6/scTUG4ESkK\nprSNFFaw6UpxyFCyI1cTcGwqxgubKnUrdeFpgn55EPNv/yKn3TJy2q9A1jf68wSViuKQoVzqsQu7\nqQ3BPw3C98wSVI6iSt2vxsg2dLk/YQmoeJe+8nhvhLvqU0pkfRjq4jSP/842XJlO4oVtzG80CQkJ\nJXacjImJYd++sr/JufZcT8XGxrJs2bJKXy94l0i46yqNhrzYWOcot3xjJKjWgD4g6dBn7aztUARB\nuIY27xAquditxX7WgJ5kdv4E85nX8T2z1P1v4hxFmH9bTMOfh2IJ7Mulbt9edwdCRW0k75ZnudTt\nG7QFyQTv74fh4md19ps/bd5BHMbmKNrASrfhqOoItyI7E24vzOFW1EZkjS+SNcOj6/RiOsl1Xb1l\n+44dO+jZs/zfufK2d7/Wxo0buffee0s8FxcXx9NPP125IAWvEwl3HVY8eDCK0YgxPr62Q/EOlYr8\n8Mn4nnu7tiMRBOEapgsbKGw82u1RSbtPGzK6bMWQ8TX+J14A2X7d8/UZ/yPkxxg0hb9yqds3FDR7\n3O0NURyGcLIj3ybn1mWYz66gwcFRXp1H7i36nAQsHu4ueS1HJadxXKGyX0ZR+4Ckq1Icrng8XDip\nsmWhzT9W5X4QPKMoitvJeX3ncNTPBdUi4a7LVCpyZ87EvHgxWK21HY1XFIUMQVN4Ck3ekdoORRCE\nKxxFGC9+RmHjUR5dJusbkdl5M+riFIKO/AOVvaDUOeqicwQefhj/U/O53HYR2ZGrkQ1hlQrTGtCL\nS922URQylAaHHsD/RCyStWoVPbxJn7MXS0CfKrVRpdrXgNqaiaytQim+a+PxcOGkIet756JRtcFr\nMdQ1K1euZNKkSSWemzNnDnPmzAFgw4YN9O/fn4iICPr06cOHH35Ybls9e/Zk9+7dABQXFzNt2jQi\nIyOJiYnh0KFDpe7bp08fIiIiiImJYdu2bQCcPHmSmTNncuDAAdq2bUtkpLN++fTp01m8eLHr+nXr\n1tGnTx+ioqJ4+OGHSU9Pdx0LDw9n7dq19O3bl8jISF566aVyYz548CBDhw6lffv2REdHM2vWLOz2\nPz9wJycnM3bsWCIjI+nSpQv//ve/AZBlmeXLl7tew913301aWhrnz58nPDwc+apv80eOHMn69esB\n5+j98OHDmTdvHpGRkSxZsoSzZ88yevRooqKi6NixI1OnTiUvL891fWpqKhMnTqRjx4506NCB2bNn\nY7VaiYyMJDk52XVeZmYmrVq1Iiur+v8eEQl3HWft1Qt7q1aY1q2r7VC8Q9JREP4wvmIjHEGoM4wZ\n32A1d6xUIqxofMnq8D6yLpgGB0ciWS85D8gWfM8uI/jAX7GZO3Kx+3YsQf2rHqxKTWHY37nY43sU\nlZbgH/vjc/4/FY6wVzvZijb3Z6z+lZ+/DVc2v6lc7Wtwzt/2xoLJP+PxbMT9ZigHOHz4cHbu3ElB\ngfMDpizLfPHFF9x3330ABAcHs3btWpKTk1myZAnz5s3jyJGKB5mWLFnCuXPnSEhIYN26dWzaVHKN\nRIsWLYiPjyc5OZnp06czdepULl26ROvWrVm0aBHR0dGcOHGCpKTS3/7s3r2buLg4Vq9eTWJiImFh\nYTzxxBMlztm+fTvbtm3j22+/5fPPP2fXrl1lxqlWq5k/fz5JSUl89tln7NmzhzVrnGV/CwoKGDt2\nLDExMSQmJrJnzx769u0LwNtvv81nn33Ghx9+SHJyMq+//jpGoxGoeOpMYmIiLVq04PDhwzz11FMo\nisLUqVM5ePAg33//PWlpabz++uuA889j/PjxNG3alP3793PgwAGGDh2KTqdj+PDhfPrpn8Ub4uPj\nueOOOwgK8t6H1PKIrd3rgdzYWBo89BBFo0ej+PjUdjhVVtBkHI1+6INkSUPWN6ntcAThpme8sIGi\nxtdfLHldkpaciNfxPfsGDX8eSl6L6ZjPrsBuasWl6K9xGJt5L9g/KNpActu8TGGTcfifnIsp9UNy\n2i3B5tfZ6/dyhy73IHZjSxStf5XakXWNkOyXnSVUKzFK7Nz0xosJtz4cdfHv7p0s2zBk7SK31Ryv\n3f96wt6p3Dcl10qZ6NkUnrCwMDp06MC2bdsYMWIEu3fvxmg00rmz870XExPjOve2226jX79+7N+/\nn6ioqOu2+8UXXxAXF4efnx9+fn48/PDDLF261HX8nnvucf08ZMgQVqxYQWJiIoMGDaow5vj4eNeo\nM8CLL75I+/btSUlJISzM2Y9TpkzB19cXX19fevfuTVJSEv369SvVVocOHUr0xbhx49i3bx+PPPII\n3333HSEhIUycOBEAnU7n6pePP/6Y2bNnc8sttwBw6623ApCfn19h/I0bN2bChAkA6PV6WrRoQYsW\nLQAICgpi4sSJvPHGGwD8/PPPXLx4kVmzZiFJznHl7t27A86R80mTJvHiiy8CsHnz5lIfPKqLSLjr\nAXtUFJbevfFZvZr86dNrO5wqU7QBFDYagc/5/5LXamZthyMINzV1cQq6vF/IivpP1RpSqchv8QwO\nfSg+Ke9zudVsLA0rTgSqyu7bjsxO6zGlfYT/iRfIiN5WK9UxdDl7q1QO0EUl4dA3Rm1Jw2G6xePL\nJWuGVxZMXuEwhKHLSXDrXF3uT9gNzZD1jb12/+vxNFH2pmHDhhEfH8+IESOIj48vsWBxx44dvPHG\nG5w+fRpFUSguLnYll9eTnp5OkyZ/DkKFh4eXOL5p0ybeeecdzp93fgNSWFhIdna2W/Gmp6eXSJRN\nJhOBgYGkpaW5Eu7g4GDXcaPR6BrBv9bp06eZP38+v/zyC8XFxdjtdjp27Ag4p3I0b968zOuud6wi\noaGhJR5nZmYye/ZsfvjhBwoLC3E4HAQEBACQlpZGeHi4K9m+WpcuXfDx8SEhIYHg4GDOnj3r1gcW\nbxBTSuqJvOeew+e995BqYJ5RTSgIfxRT2kdlzvkUBKHmGC9spChkKKiNXmmvqMn9ZER/VSPJtotK\nRWGTsUiOQnSXa2fDMOf8be8sFKzKDo/e2vTGFYshHI3FvSkuhptgOskVQ4YMISEhgbS0NLZt28bw\n4cMBsFqtTJo0iSeeeILDhw9z9OhRBgwYgOJGZZ2QkBBSU/+cv38lsQZISUnhhRdeYOHChRw9epSj\nR4/Stm1bV7sVTclo1KgRKSl/vqeuJOtXJ/juevHFF2nTpg179+7l2LFjvPDCC644QkNDOXPmTJnX\nhYWFlXnMZDIBUFT0Z9nPS5culTjn2te3aNEiJElix44dHDt2jBUrVpSIISUlpcSc8KuNGjWKzZs3\ns3nzZu655x50Ou8sMK6ISLjrCcctt1A8dCi+y5fXdihe4TA2wxrYG9OFDbUdiiDcvBQZ04VNFFZl\nOkldoZIoCPsHPinv1fy9ZQvavINYq1B/+2oOQ2ilSwN6a9MbVywelCm8mcoBBgUF0atXL5555hma\nNWtG69atAbDZbNhsNoKCglwJYXlzoa91ZZrI5cuXSU1N5b///a/rWGFhISqViqCgIGRZZsOGDSUW\n/wUHB5OWlobNZiuz7eHDh7NhwwaOHj2KxWIhLi6Orl27uka3PVFQUICvry9Go5GTJ0/ywQcfuI4N\nHDiQjIwM3nvvPaxWKwUFBSQmJgIwduxYFi9ezG+//QbAsWPHyMnJISgoiMaNG7N582ZkWWb9+vWc\nPXv2ujHk5+djMpkwm82kpaWxatUq17EuXboQEhLCwoULKSoqwmKx8ONVO3ffd999fP3112zZsoWR\nI0d6/PorSyTc9UjetGmYNm1Cffp0bYfiFfnhk/E5/y4o9bPEjyDUd7rLP6CojdjMnWo7FK8obDwK\nffZupCpU+agMXW4idlNrFI2fV9pzjnBX7jU453B7bwGYrA0CubjCbyPVhb8h2fOwmTtc97wbyfDh\nw9m9e3eJ6SQ+Pj4sWLCAyZMnExkZydatWxk8eHC5bVw9cjt9+nTCwsLo1asXDz74YIlksE2bNkye\nPJkhQ4bQuXNnkpOTXfOSAfr06UPbtm3p3Lmza3rH1fr27cuMGTOYOHEi0dHR/P7777z55ptlxlHW\n46vNnj2bLVu2EBERwQsvvMCwYcNKvP6PP/6Yb7/9li5dunD77beTkOCckjRp0iSGDBnCAw88QLt2\n7ZgxYwbFxcUAvPbaa6xatYoOHTrw66+/VrjhzzPPPMPhw4e59dZbmTBhAnfffbfrmCRJvP/++/z2\n2290796d7t278/nnn7uON2nShA4dOqBSqejRo8d17+NNKsWd7znqgau/hrmRmdauxeedd8j47DOU\nP+YrecJsNpconVPbGv48lPymkykOvqfik2tQXeunukr0k/vqYl8FHHsam297CppOru1QXKraT36/\nzkZR+5DXMtaLUV2f75klSI5CclvN8kp7ptQP0eYe5HK7f133vLL6qkHiSPJaTMcaWLXyhFcL/uEO\nsqPexe7TttxzfM69g6bwBJcjFpd7jqfq4u+McGN49tlnady4MTNmzLjueeW9B6+dU+6OGhvhttls\nzJw5k+eff55nn322VLmbq+3bt48xY8Zw+gYZyfWmwocewhITQ9DEiTdEbe78pmIjHEGoDSp7PoaM\nbylqNKK2Q/GqgrAJmNI+dlb5qCHenL8NVZ3D7d0qJeBeLe6baf62UL+dO3eObdu2MXbs2Bq9b40l\n3Fqtlrlz5/Laa6+xePFiDh48yMmTJ0udV1xczNdff02bNm1qKrR6J3f2bGRfXwJiY+vsFsfuKm74\nVyRrBtrLP9V2KIJwUzFe+hxLYG+vJ2e1zWFqhc3cEePFrTV0w2K0uYew+nvvq2lnLe5KJtzWDGQv\nzuF2xXOdDwAqex7avEQsAX29el9B8LbFixczcOBAHn/88VJVYKpbjc7h1uv1gHO0u7ytOdevX8+w\nYcPQat3b8vempFaT8+9/o0lKwnflytqOpmpUagrCHxUb4QhCDTOlrb8xFkuWwbl48j81MiChy/0Z\nu08EisbstTZdI9yexi/bkRx5yFrPpxtWGM91Rrj1Wbuw+vdA0dT/fSKEG9uMGTNITk5mypQpNX7v\nGk24ZVnm+eefZ9KkSXTs2NG1qveKM2fOkJWVRdeuXWsyrHpJ8fEh6/33Ma1Zg+GqxQD1UWHjMehy\nElAXubm5giAIVaIuPIm66CyWoAG1HUq1sAT1R3IUoMut/m/OnNNJvFB/+yqKxgckA5LNszKwki0L\nWRMAKrVX43GOuJe/TspwE1UnEYTKqtGNbyRJ4rXXXqOwsJDFixdz/vx515C+oiisWbOGJ598ssJ2\nkpKSSmxdOnr0aMxm740u1BtmM5aNGwkYNoyiNm2Qr1qxXB6dTlcH+8qMvfkEAi+uwRL1Wm0HA9TV\nfqp7RD+5ry71le78VhzNxmL2r/7tjD3lrX6yt3oc//QPKA6PqfjkSt+kEJ+Ln1DU9T9e/7NVTM0w\nq7ORzS3KPefavpKUs2AI9nosaksbdBc3lN2u4sCQvRM5ag5mk5fvq/buBwdB8JRarXa+7x0W1FkJ\naC59h/ridgg9wsaNG13nRUZGunbxLE+t7DRpMpmIjIzk4MGDroS7qKiIc+fOMW/ePBRFIScnh9de\ne43nn3+eli1blri+rBd2065kvuUWil9/nYAHHiBj61YcTZte9/S6uupbCn6AkB8Hkhk6FcXLX4dW\nRl3tp7pG9JP76kxfyXYa/f4RmZ0+xl4X4rmGt/pJFTCURscXUnApGdngeUUBd/ieWYLFtxOXte3B\nyzHEg3sAACAASURBVH2p0TbGkvUrxerW5Z5zbV/pcn5How70+vtMLQfRoOD3MtvVXj6AQduQXEeQ\n1/ugrnxAFW5eSuF5tD89ju7yfuw+bbEE9qe49UKCcQ72eqLGEu7c3Fw0Gg0mkwmr1crhw4dL1G40\nmUy8++67rsfz58/n73//O7fc4vnWtjcby513kn/2LEHjx5MRH4/i551asDVJ1jehuMFf8ElbR36z\nir/lEAShcvTZu3Dom1y3xNuNQNGYKWx0Hz6pa8lr+YLX21cXp+B7/j0udfvG621DxQsVy4zJmun1\nBZOAc6t560WQ7SCVTBuqczqJoiiVTro1BckokhGHsRkayzkUWcZhrNy24vWRuvAkitoHWe/+TpJq\ntbrc9XU3BcWOypaLZM9BsueAIkOhjcLGo8i+dTmKNrBKzddYwp2Tk8PKlSuRZRlFUejduzddu3Zl\n48aNtGrViujo6FLX3CAlwmtEwSOPoDl9msDHHiNrzRqoh4tO85tOpsEvfyc/fCJINbPVqiDcbEwX\nNlDY2LORmfqqIGwCDRPvI6/506A2eLVtv1MvUxD2DxyG6ql04MkOj1dItgwc1VF1RtIhaxugtqbj\nMJTcmdCQ+R2X2y70/j1x7iZYWZJFRfCPt5PRNZ6Gx58ku9UrWOvgFKrqYkjfh/FiPJc7/Lfik/9Q\nZ76FqymKjDY/CX3WTvRZu9DmH8bm15XiwP5Ygvpj94kAjQpCorxyuxpLuJs1a8arr75a6vnyhuTn\nzp1b3SHdWFQqLi9YQNCECfjPmsXluDi4zk5RdZHdNxK7qTXGi59T1PjGqg0sCHWBypaFPuv/kdPW\ne5uT1GXOEoEdMF7cSlET71Vk0eXsQ5t7gJx2b3itzWs5DKHo8hI9usZZErBBNcXjrFRydcItFacg\nWdKw+tW9Qgeyvgn5LaYRePRJVJbUOhljdbIG9iHgRGyZ30rc1GQb+uzdGC99hj5zB7LGH0tQf/Kb\nPYE1oBeK2lRttxZbu99INBqyV61Cd+AAPqvrZ5m9/KaT8T3/dr2vLy4IdZEpPZ7iBn9B0frXdig1\npiDsYe+WCFQc+P86m9xWs1DURu+0WQbnCLdnOyhLtsxqq6tuN4SXmuJiyNyOpcEAr1dF8ZaC0AkA\nOBoNqrMxVhdZ1xCHIRythx/abkiKA132bvyTn6dRQlfMZ17H5tOejK6fc+m2/yO3zQIsDf5Srck2\niIT7hqOYzWStWYPv6tUYvqmeuYXVyRI0AGQbupw9tR2KINxwTBfW3zTTSa7wdolAU9pH/H/27jy8\nqTJ9H/h9Tva0Sdu0lNqWUmQRKAqCCKIisomAiFvd5is47ooLjuKoMyKMO4KIKMMwuI0zDsyi/pTN\nBRFccQGBKgIKhVIKbdO0SZOT5eT8/qh0rC3taUlykvT+XNdcQ5Oz3H2v2j59+5z3DevtkLpMicj1\njkXN7o6/FtUZ7hbW4o775QBFPZwnvwx/34e1TqIJv2MkTDUfax1DG0oYRtdm2Hf/AV0/HQL7j49A\nthSiavBqVA15B/XdboBsKYhpJBbcSUjOy4Nz+XKk3XMPDNu2aR2nfQQB9fk3cLt3ogjTu3dACLoQ\nyOhkuwEKYsNGOGXLj/9SQRdse59Gba85UW/ZCxuzIYZq27VFvS6KM9y/3v1SkH0w1n4Bf8aoqNwv\nUsKmE6BYorNKTbzzZ5wNU80mrWPEjqLAULcF9j0Po+vnpyNt9/0IG7JQdep/UXXaWngKboVsaX0l\nt2hiwZ2kgoMGofbJJ+G49lqI5e37s6TWvF0vhsG9Hfr63VpHIUoa1oqV8OUUA0Ln+7bvzSmGqWYT\nxHa2aPyabd8CSFnnIWSLzENUrRLEhtVB/IdUnyIGqiFHc4b7Fy0lxpqPEbSd3KnakxJNIG0YDJ4d\nEEIdf/g07ikK9O4dsP34GLK/GIGM7++AoktB9Sl/R+XQD+ApvAuy9cS2rxMDne87byciTZyI+uuu\nQ+a0aRCO42nvmNOZUZ83DSlly7ROQpQcwn5YjrzR6dpJjmpYIvAipJT/rcPX0NfvguXIG3D3iPwS\ng8fy6yK3LWKwKooz3PlNZrjjvp2EoOgsCNoGwlj7udZRosLo+gzZm0fCUXI9AMBZtAxHTt8Id497\nG1YYiTMsuJOc55ZbEBg0CBm33gok0Pqa3txrYKlcBTFQpXUUooRnrnoPoZS+Me9ZjCf1edNhPfSP\ndrVoNFIU2PfMhqf7nQgbozOD3BLZnKt+aUDZByEcgKKLzmYxR1cpgaIAisKCO0Ekc1tJ6oE/oz7v\nWhwZ9hncPR9o+MtTHK/OxoI72QkCah97DIIkwT5nTsKs/hE2ZsLXZTJSDr6idRSihNew9nbklsVL\nRLK1V8MSgZX/r93nmqvfhc5/CPW506KQ7NgaZrjVtcHogk6EDY6oFRyK3g4IegghF/SeEig6M2RL\nz6jciyLHnzESJmfyFdxCyAOj63N4u14S10X2L7Hg7gwMBjiXLYNx82ZYpk6Fbs8erROp4ul2I6zl\nryR3/xlRlIn+ChjrvoHUZZLWUTTX+PBkeyYewn7Y98xBXa85gBjbDcV+/aBia8RAlDa9aSFP4+x2\nghQ6nVnQdjJ0gcMQ/Ye1jhJRJud6BOynJdQzBCy4OwklLQ1Vb7+N0LhxyJo6FbbHH4fg82kdq1Wy\ntSf8GWcjpfxVraMQJSxrxb/h6zIpqmtGJwq/41yIsqddSwSmHliGYMpJ8DvOiWKylrWnh1sMRmdb\n9yZ5zHnQ+w+ynSSRCDr400ckXVuJuWotpC7nax2jXVhwdyYGA4IzZqDy/fehKytDl1GjYF67Nq7b\nTDzd70DKgb9AkOP7lwOiuKQonWor9zYJYsNGOGUvqjpc9Fcg5cCfUddLm52PZXM+9CrX4m54YDK6\n/eWyKQ+Guq3Qe39EIG1YVO9FkZN0fdxhP8zVH0LKOk/rJO3CgrsTCufkwPX883DNnw/b44/Dcc01\n0O3bp3WsFoVSTkIgbSisx7G6AFFnZaj7CgoEBO1DtI4SNxqWCNyoaolA+0+PwZt7NWRLYfSDtUA2\n5Tb0cKuYFBEDsZjhzoe14p/wO84GRGNU70WR01BwfxzXk2vtYar5GMHUvggbu2gdpV1YcHdigbPO\nQuV77yEwfDiyJk9G6oIFgNSBJ/ijzN39zoaNcDqyugBRJ2Y9tAK+E65gr+0vqF0i0FD7NUw1n8BT\ncHuMkjWn6FOgiGaIQWebx+qiuCTgUSFTHnSBI2wnSTCypRCKaIDemxx7W5gr10DKmqB1jHZjwd3Z\nGY3w3HYbqtatg+H775E9ZgxMH3ygdaomQrYBCNhOgbXin1pHIUoYQtAFS9Wahqf4qYk2lwhUwkjb\n8xDqTvw9FH1qbMP9imxW18ctBqqitunN/7LkQoEAv2N0VO9DESYIydNWosgwV78LKSux+rcBFtz0\nMzkvDzXLlqH2kUeQ9tBDyLjuOujK1PUOxoKn+11I3f88EPZrHYUoIaQcfAlS1niETV21jhJ3ZGsv\nBFMHHHOJQEvFvwAI8MXBLyshk7qVSsRgddR7uEMp/eHu8fuoz6RT5PkzzkqKgttYuxlhU05C7inA\ngpua8J97Lo588AGCAwYga8IEpD73HBAIaB0LQftAhFJOgrXiX1pHIYp7QqgeKQdfgrvgNq2jxK36\n/J8fnvxVX6sQcsO+90nU9v4TIGj/I1L9DHf0e7gVfQo83WdE9R4UHYH0s2F0fQ6Eg1pHOS7myjXw\nJeDsNsCCm1piNsMzcyaqVq+G8auv0GXsWBg3af+bsbv7XUjdvzjhv2EQRZv10N8QSB8B2dpL6yhx\nq2GJQDcMv1oiMLV0EfyOcxC0n6pRsqZk1TPc0e/hpsQVNjoQsnSH0b1V6ygdpygwV61JyHYSgAU3\ntUIuKIDzlVdQ94c/IOOuu2B5801N8wTTToNs7g7L4f9qmoMorskSUg8sg7u7dg/7JQRBRH3etUj9\nxRKBOu9PsB56HXU9fq9hsKZkc27bM9yKAl2gGuEo93BTYgtknA2Tc6PWMTrM4N4GiCaEUk7SOkqH\nsOCmNvnHj0f13/8O++zZMH34oaZZ3IV3wbZ/ERAOaZqDKF5ZK1YgaBuAUGqR1lHiXuMSgf5DAIC0\nH+egvuDWuOp7l035bc5wC7IHiqjn5kbUKn/GSBgTuI/bXPVzO0mCrrrEgptUCfXtC+fy5Ui/4w4Y\nvvxSsxyB9DMgG7se82Enok4tHETq/hfgLrhD6yQJQdHb4cueipTyv8FU/SH03j3w5F+ndawm1Gzv\nLgaqOLtNbfKnDYWh/jsIIbfWUTrEXLUm4XaX/CV9rG4UDAYxe/ZshEIhyLKM4cOH47LLLmtyzDvv\nvIP169dDp9PBbrfjlltuQVYWe9LiRfC00+BatAiO669H9T//iVC/fprkcHe/C2l7/ghf9oWAoNMk\nA1E8shx5A7KlAME0bnSjVn3etcjcegnMlatQ2/NhQDRpHamJsDEbYqi2YQlDnbnFY8QgC25SQWdB\n0HYqjK7P4M8ar3WadtHX74YY8iBoG6R1lA6L2Qy3wWDA7Nmz8dRTT2HevHnYunUr9uzZ0+SYE088\nEU888QTmzZuHYcOG4bXXXotVPFLJf+65qJ07F5m/+Q10paWaZAhknA1Fb4e5cpUm9yeKS4qM1NLF\ncHfn7HZ7hFIalgiUTfnwx+OGLoII2ZQD3c9tLy3RBZ18YJJUadx1MsE0PCw5IS5WDuqomCY3mRpm\nDoLBIGRZbvZ+//79YTQ2bBfbp08fOJ1t765FsSddeCHcd9yBzKuugnjkSOwDCALc3e+CrXQRoIRj\nf3+iOGSuXA1Fb0cg/SytoyQcV7+FqOm/OG57Q2VT60sDNmx6w4Kb2tZQcCfeg5PmqrXwJXA7CRDj\ngjscDmPWrFm48cYbccopp6BXr2MvWbV+/XoMGpS4fzpIdt5p0+C99FJkXnUVhNramN/f7xgNRTDA\nXLUu5vcmijuKAtv+5xpmt+O0aIxnYWMXKIYMrWMck2zObbWPu2FJQLaUUNuCtgHQBSobHxROBDrp\nIHS+/QikDdc6ynGJWQ83AIiiiKeeegperxfz5s1DWVkZ8vPzmx23ceNG/PTTT3j44YdbvE5JSQlK\nSkoaPy4uLobNZotW7KRiNBojN1Z//CMUjwddrrsOvjfeAKzWyFxXJbnf/Uj74QkYelwW8SIjouOU\nxDhO6kVzrHSH10EUBRgLL4YxwQtufk01p7P3gBVV0P9qXI6OlQl1CNu6c9yOgV9TTcldRiHN9xVC\nWVc1eT1ex8lQ+SHCJ0yELS2+fileuXJl47+LiopQVNT6ylAxLbiPslqtKCoqwtatW5sV3Nu2bcOb\nb76JOXPmQK9vOV5Ln5jbnZhP3caazWaL6Fi5H3wQ6XfeCcPVV8O5fDlgMETs2m2yno0u8lwESt+M\neO9lpMcpWXGc1NH5DgCOQrh9zVvpjpuiIGvnk6jNvxWSxxP568cYv6aaswpdYKjd2mxcjo6Vrv4Q\n/OYi+DhuLeLXVFOy7QwYD70Ld/oFTV6P13HKLHsTdd1uhD+OstlsNhQXF7frnJi1lNTV1cHr9QIA\nAoEAtm/fjtzc3CbH7N27F8uWLcOsWbPi8rcsaoEowrVgAQAg/e67gXAMe6oFAe7ud8K2b2Gz7ZmJ\n4omj5DqYv/ltVJ45MLo+gxishtRlcsSvTfFBNuVB7y875vu6QFXUt3Wn5NH44GQC/NwUA9UweHbA\nn3G21lGOW8xmuF0uF55//nmEw2EoioIRI0Zg8ODBWLlyJXr27IkhQ4bgtddeg9/vxzPPPANFUZCV\nlYVZs2bFKiJ1lMGAmqVL4bjqKthnz0bd3Lkx6yOVukyCbd8CmGo2wu84Jyb3JGoPMVAJne8AwkY7\nbPvmw93j3ohe37Z/EdwFM7hEZhKTza1vfiMGnZDZw00qyZbuUEQz9N5dcb9ro7n6XfgdI4Ek2NQp\nZgV3QUEBnnzyyWav/3JK/o9//GOs4lCEKRYLnC+/jKxLLkHqwoXwzJwZmxsLIjzd70DqvmfgzxjJ\nB8Yo7picG+HPOBPy4Odg+egcBFP6QcqOzGy0oW4LdN6f4Ot6cUSuR/FJNuVC5y9vmJFs4XucyBlu\naif/z9u8x33BXbkavq6XaB0jIhJ3QUOKO0paGqr/8Q9Y//1vWF9+OWb39WVPgS5YBaPr05jdk0gt\nU81H8GeMhGLKRs2A5UjbfT/0npK2T1QhtXQRPN1uAURjRK5H8UnRp0ARzRCDLSyVq4QhhmoQNjhi\nH4wSVkNbSWS2ebccfgOZ314BhIMRud5RQsgNY+1mSJljInpdrbDgpogKZ2ej+vXXYXvuOVjefDM2\nNxV0cHe/A7bShbG5H5FaSrhhhtsxCgAQtJ2M2l6PwLHjOoiB49tnQO/5Hkb3VnhPuCICQSneyeaW\n1+IWgy4oulRAjOED65Tw/Blnwli7GQgHjus65sq1sO+ZA0H2IfXAkgila2CqXo9A2ulQ9MnxTB8L\nboo4uaAA1a+9Bvvs2TB9+GFM7unLvgg6qQxG1+aY3I9IDX3991D0KZAtBY2vSV0vhC/7QmR8d+Nx\nzQil7l+M+vwbkqK3kdoWMuW12MctBqsgc1t3aifF4EDI0gPGui0dvobJuRFpu2bBecqrqOn/PFLK\nlkFfv6ftE1WyVK2BlJXYm938EgtuiopQv35w/vWvSL/jDhi+/DL6NxQN8BTMQCpnuSmOmJ0fwZ8x\nqtnr7h6zoIhWpO15uEPX1Xn3wlSzEfW51xxfQEoYx5zhDlRxW3fqkONpKzG6NiP9+xmoKforgrZT\nIJvz4e5+N9J+uCcyqzHJEkzOjyBljT/+a8UJFtwUNcGhQ+FauBCOm28G5CisP/wr3pzLoPfuhuE4\nfmMniiST8yNILa2eI+hQ038xjDWbYC3/e7uvm7r/eXhzp0PRp0YgJSUC+Zgz3NUIc4abOsDv6Ng2\n7wb3NmSUXA9Xv8UIpJ/e+Lo3bxoAwFr+6nFnM9VsQjC1f1L9MsmCm6LKP2YM5OxsGD/5JPo3E43w\nFNzGXu5EIEvQe77TOkVUCbIPBvcWBNLPaPF9RW+H8+QXYdv7JIy16v8KJEoHYalaA0/+tZGKSgmg\nYXv35mtxi8HqpCpKKHYC9qHQ1++EEKpTfY6+fhcc265BbZ+nGpbr+yVBRO1JT8O2b36ry1iq0dBO\nMuG4rhFvWHBT1PmmToU1Rg9QenOugMG9Awb39pjcjzombc9DyPpmCsTj/KYcz4yuzxBMPbnVB35k\nay+4+i5ERslNqsci9cCf4T3hCihclaJTkU35DUsD/go3vaEO05kRtA+G0fW5usN9+5D57ZWo6/UQ\npC4tF8OhlF6oz78Babt+3/GNdcIhmKrfg9Qlefq3ARbcFAO+KVNgXrsWkKTo30xnhqfbzUgtfTb6\n96IOMR/5fzDVfAJv7jVI+3GO1nGixlTzUfMZoBb4M0fDk38DHDuugyD7Wj1WDFTCevi/8OTfGKmY\nlCBkcysPTXLTG+ogf8ZIVW0lolSOzG+vgLvwrjbX/fd0uwU6fwUsh//boUzG2i8gm/Igm/M7dH68\nYsFNURc+4QQEi4pgXr8+Jvfz5v4Gxrqvofd8H5P7kXo6336k7f4Davq/gLoe98Lg3gGjs/09hInA\ndIwHJltS3+1mhKy9kPbDva3OCqUcWAZf9oUIm7pGKCUlirAxG2KoFpCbTlyIAfZwU8epeXBSDFQh\n89srUJ87Hd7c/2v7oqIBrr7zYf9xLsRAVbszmavWJt3sNsCCm2LEd/HFsLzxRkzupegs8HS7Gek7\n74LOty8m9yQVwkFkfHcrPAUzELQPBHQW1PZ6GGm7/3Dca8HGG1E6CDFQhaBtgLoTBAGuk+ZB7/3x\nmGvZCkEXUg79HZ6CWyOYlBKGIEI25UDnP9TkZTHIVUqo44KpRRCDTohS83YloOH7Tua3V0LKnoL6\ngpvVX9d2Crw5xUjb3c4dxJUwLJWrk2o5wKNYcFNM+M4/H6ZNmyDUqX8443jU598IX04xsr65oMN/\n1qLIsu2dh7Aho2Ht6J/5s8ZDtvZAatkyDZNFnrlmY0M7iaBTf5LOAueA5Ugp+ytM1R80ezvl4EuQ\nssYn3Z9ZST3Z1HxpwIYZbhbc1EGCiED6mS3OcgshDzK3/x/8GWfCXfi7dl/aXXg3DJ5tMFW9q/oc\ng/tbhHUpCFl7t/t+8Y4FN8WEkp4O/5lnwrxmTWxuKAioz78O1ae8jtR9C5H+/Z0QQp7Y3JuaMTk/\ngvXwf+DquxAQhCbv1faai5T9S2LyAKX5yP+D+chbUb9PQztJC8sBtiFszkVN0VKk75wJnfd/G0gI\noXqkHHwJ7oLbIhmTEkzDSiVN/zvRBavZw03HpaGt5OOmL8oSHDuuRTClL+p6zm72fVsVnQWuPvOQ\nvvsB1SuhNLaTdOR+cY4FN8WMb+pUWGPUVnJUyDYAVaethSIY0OXr82Bwb4vp/QkQ/UeQvnMmavot\nQriFwkC2dIc371qk/Tg3qjkM7m1I/2EW7HvndfzpeTUUGaaaTaoemGxJIG0o3D1+D8f23zb+kLIe\n+hsC6WdAtvaKZFJKMA0z3L/40384AEH2QNGnaxeKEl7Dg5Ob/vd9MRyE47ubIBuzUdvnieMqfgMZ\nIyA5xsD+4yNtH6woSdtOArDgphiSxo6FYds2iIcPx/S+is6K2r5Po67HfXBs+w1SDvw5MjthUduU\nMDJ23gHvCVcikHHmMQ9zF9wKg3tb1B6gFII1yCi5Ea6TnoYCEYa6r6JyH6ChsJeNXRE2ndDha3hz\nr4LfMRIZ390GQfYh9cBf4C64PYIpKRH9eqUSIVCNsMEBCPxRTh0nW7pB0aVAdH8HKDIyvr8DgPDz\nXyTb0RZ3DHU9H4TZuR7Gmk9bPU7v3Q0h7EPQNvC47xmP+F8pxY7FAmncOFjefluT20vZU1A1eBUs\nlavh2PYbiP4jmuToTFIPLAHCfri7z2z9QJ0Ftb3mROcBSiWMjO/vgJR1PqTsyfDlFMNasTKy9/gF\nk1PdcoBtqes5G0LYh8wtUxFMHYCQ2gcwKWnJ5nzo/f/b/EbwV3KFEooIf8ZZ0FWuR9oPsyAGnXD2\n/zMgGiJybUVvh6v3Y0jfdW+rS5+aK1fDl5Wc7SQAC26KMd/FF8MSo01wWiJbuqFq0H8RtA9Cl68n\nwOTcoFmWZGeo/QopB/4CV7/FgKhv83h/5jjIlkKklv01ojlSS5+FIHtQd+IDAABvziWwVK5qc83r\njmpYf3vU8V9INKCm/18AAO7CNn5hoU7h19u7s+CmSPE7RsL0w6MwePfAOeBFQGeO7PWzxiNgGwjb\nvvnHPMZctTZp20kAFtwUY/4zz4SurAy6vXu1CyHq4e4xCzX9nkP6D/fAvmdu0i1LpzUhWIuM72eg\nts+TkM15Kk8SUNt7LlL2v3DMJaray+T8CCnlr6HmF7M1YdMJCNgHw1y5OiL3+CUh5IbBU4JA2rCI\nXC9sdKDqtHUI2k+NyPUoscmm3IYe7p97bYVAFWQuCUgR4M84G6Hci1B98qtQ9ClRuUddr7mwVPwL\nhrpvm72n8x2Azn8QgbTTo3LveMCCm2JLr4fvggs0neU+KpBxJiqHvAudby+yvrkQOu9PWkdKDoqC\n9B/ugZQ59pjb/x6LbCmEN296RB6g1EkHkf79najp/3yzjWK8UWorMdV8goB9CBSdJeLXJlL0KVBE\nM8SgEwBnuClyFL0d0qAlUAxpUbtH2JiFup4PIf2H3wHhYJP3zFVrIWWOV/XX0ETFgptizjd1asMm\nONFcKUKlsNGBmgEvwnvC5cjaciEsFf+Ki1yJzHroNeh9+1B34h86dL674DYY3FthbGP3s1aF/cgo\nuRGebjcjkD682dtS5njoPSXQSWUtnNxxppqOLQdIpJZs/t9a3EKAm95QYvF1vRiy6QSkHnihyevm\nqjWQsto3QZNoYvarRDAYxOzZsxEKhSDLMoYPH47LLrusyTGhUAiLFy/GTz/9BJvNhpkzZyIri99M\nkk1w8GAIwSAMO3YgePLJWscBBAHevOkIpJ2OjO9ug8n5EeTBzwFIzgc3oknv2Qnb3qdQdeobHe8B\n1FlQ9/MDlJWnvQeIxnZfIm3Pw5BNuajvdtMx7mGGlD0Flop/wRPB/miTcyPqB0S2B53ol0I/93EH\nbac0zHBbTtE6EpF6goDaPk8g6+sJkLImIZTSC2KgEgbP9/BnnK11uqiK2Qy3wWDA7Nmz8dRTT2He\nvHnYunUr9uzZ0+SY9evXIzU1FYsWLcKkSZPw2muvxSoexZIg/G+WO46EUvujashqQDTA8uUVQDik\ndaSEIsg+ZHx3C+pO/MNxrxctZY6HbC5AStnydp9rqfg3TDWb4Oo7v9Wn3RvaSiL3Fw2dbx+EsBeh\nlL4RuR5RS345wy0GKltc254onsnmPLgLf9fQWqKEYa56F37HORF/UDPexLSlxGQyAWiY7ZZludn7\nX375Jc45p+HPscOHD8f27dtjGY9iyHfxxbC89RbQwteBlhSdBa6TngZEE+w/Pap1nIRi3zMbwdQB\n8OUUH//FBAG1veYidf/z7XqAUu/5HvYf58BZ9FcoenurxwZtA6GIZhhrvzjetACO7i45MmmXtKL4\n8MuVSgR/FWT2cFMC8uZeAwUCrAdfgblqLXxdknd1kqNiWnCHw2HMmjULN954I0455RT06tV0Fszp\ndCIzs+GbhyiKSElJgcfD7biTUah3b4QzM2H8IjLFTkQJOvgGL4e5ai3Mh6O/DXgyMB95CybXJ6jt\n83jECk7Z2gPevGlI+/FPqo4XQnVwlNyAul5zEEpVMcssCBF9eLJh/e1REbkW0bE0bH7T8OwBe7gp\nYQkiXH2fhq10AYy1m+F3jNE6UdTF9HFQURTx1FNPwev1Yt68eSgrK0N+fv4xj1eO8afekpISlJSU\nNH5cXFwMm80W8bzJyGg0xs1YyVdcAfuqVfCfd57WUZoxGo3wn/4PpH9+IXzZgxG299c6UlwyJtSz\nBAAAIABJREFUGo2w66ph3fNH+Ib9F6npHd9dsUX9fw/ThmFI938DOauVhxEVBeavbkK46xjoe02D\n2q9woec1sGwYCtkiAPrUjucMB2Gu/RzykBegN7V893j6by+ecZxaJ4Z6w1heAZvNBsFfCaujENBz\nvFrDryl1Yj5OtlMR7DUTOtc3SM2I8M+OGFi58n+TNUVFRSgqKmr1eE3WX7FarSgqKsLWrVubFNyZ\nmZmorq6Gw+FAOByGz+dDamrzH4ItfWJutzvquZOBzWaLm7ESzzsP2ePHo+qhh4Cf243ihc1mg1vs\ngcCJD8G2+QpUDl4d1eWSEpUtxQzT5mlwd5uBel0vIApfW8ETH4Lt27vhOu3dYz5AmbJ/CZT6g6jq\ns6idGazQ209DaO+K42qFMbq+gMlcgLqAGQi0fP94+m8vnnGcWifKGTDXH4DHdRipigy3VwEEjldr\n+DWljibj1PW3QPb0qPzsiCabzYbi4vb9zIhZS0ldXR28Xi8AIBAIYPv27cjNzW1yzJAhQ/DRRx8B\nAD777DMMGMCtjJNZOC8Pwb59Yd6wQesox+TLuRSS41xk7LwDUMJax4k7xp1/QtjgQH3+DVG7h5R1\nHmRzN6SUvdhyhppPkXpgKZxFSwGx/b+4eXOKYT10fG0lDbtLcjlAir6wMRtiqBY6qRyKqQufGaDE\nJ3SOFapj9lm6XC7MmTMH9957Lx544AEMHDgQgwcPxsqVK/H1118DAEaPHo26ujrccccdWL16Na66\n6qpYxSONxONqJb9W1/MhCMFapJY+q3WUuKL3lMBQ9jpcfZ+J7g/9xgcoF0P0H2ryluivQMb3M+Dq\ntwhhtTta/oqUOQ567w/Q+Uo7HNHk3Mj1tyk2BBGyKQcGz3Yo7N8mShiCcqxG6QRTXh6ZraCTXbz9\naU1wOtF1xAgc/uorKC20D2nl1+Mk+g+jy9cT4TrpKfgzk//hDjXSv7sNYtZpcGZfG5P72fY+BZ1v\nH1z9f94wIRxE5tbL4HeMgqfwruO6tn33H6Ho0+DucU+7zxWCTnT9fAQqztzW6prh8fbfXrziOLUt\nc8ulCNpOhjmwF0f6v6x1nLjHryl1OE7q/bpDQ43OMY9PcUtxOBAYPhzmtWu1jtKqsKkraor+jPSd\nM6Hz7dM6juZ0vlKYnB8hWDA9Zvf0FNwOY+3XMNZ8AgCw//QoFL0Nnu53HPe1vTmX/7zLaPvbhkw1\nHyOQPqxDG/QQdYRszoXBvQ2KsYvWUYhIJRbcpDnvRRfB8uabWsdoUyBtKNzdZ8Kx43oIsk/rOJpK\nPbAE3tz/Awytr3UdSUrjDpQPwnL4DZir1qGm36KI9P+FUoug6G0wuj5r97kN62+znYRiRzblNbSU\nmFhwEyUKFtykOf+4cTB+/TXEqiqto7TJmzcdwdT+SPvh3ojtUJhoRP8RWI68jfr862J+74YHKPOR\n9sM9qCn6CxRDRmQuLAjw5lwOa8WK9p2nKDDXfATJMTIyOYhUkM15EOV6hFlwEyUMFtykOcVqhTR2\nLMxvv611lLYJAmr7PAlD/Q9IOdjyqhnJLuXgcviyp2qz4YYgwHXSPDhPfhVB28kRvbSv68UwV70H\nIaS+h1Hv3Q0FOsiWnhHNQtQa2dywnC4fmiRKHCy4KS74pk6FNc5XKzlK0VngHPBXpJYugtEVhztl\nRpEQqkNK+WvwdLtJswxh0wkIZJwZ+esaM+HPGAFL5Tuqz2nYXfIcLs1GMSWbGlbkYcFNlDhYcFNc\n8I8cCd2+fdCVdnxptliSLd3h6rsQGd/dCtFfoXWcmEkp/xskx2jIlgKto0SFL6cYlnZs9W6q2cj1\ntynmZFPDCgns4SZKHCy4KT4YDJAmT4blrbe0TqKaP/Nc1OddA0fJjUA4oHWc6JMlpJT9FZ6CW7VO\nEjWSYzT03p+g8/7U9sGyBGPtZvjTIz/bTtQaRZ8C2ZgDxZx422ETdVYsuClu+C66qGETnAR6GNFT\ncDtkQybS9szROkrUWQ//C8HUkxFK7ad1lOgRDfB1vQjWin+1eaix7kuEUk6CYkiPQTCipo6cvgGK\nOUfrGESkEgtuihuBIUMgeL3Qf/+91lHUE0S4+j0LU81H7WpFSDjhEFL3L4GnYIbWSaLOm1MM6+F/\nAYrc6nFmLgdIGlL0Nq0jEFE7sOCm+CGKDVu9J8Ca3L+k6O1wDlgO+49/gt69Q+s4UWGuWgXZmI1A\n+ulaR4m6UGp/yIYsmH7eYOdYTM6PILF/m4iIVGDBTXHFN3VqQ1tJuP07/mkplHISans/BkfJ9cm3\nE6WiwLb/eXgKbtM6Scy09fCk6D8Cnf8ggrZBMUxFRESJSq91AKJfCvXrByUtDcYvv0Rg2DCt47SL\nlH0B9NJ+ZH0zBWGDA37HKPgdo+FPOx3QmSN+PzHghNH1KUyuT2DwfIfaXnMRtA+M+H1MNR8Bigx/\n5piIXzteebtORde98yAEa6EY0pq9b6rZ2PCwpMhvoURE1Db+tKC4c3SWO9EKbgDwFNwGT7dbYHBv\ng8n5IWz7nkZG/Q8IpA2DlDkafscoyJbCDl1bCNbCVPs5jDWfwOT6FDqpDIG0ofCnn4mQtTcySm5A\n1ZDVEd+QJnX/Yni63RqRLdQThWJwwJ9xFiyVb8Ob+5tm75tqPuJygEREpBoLboo7vgsvRNbEiaid\nOxcwGrWO036CiKB9EIL2QfAUzoQQrIGpZiPMzg2wlT4LRZcCyXEu/I5zEUg/A4rO0vJlQh4YazfD\n5PoExppPoff9iIB9CALpI+Dq8ySCtlMA0dB4vBioREbJTage+M8mrx8PQ+3X0Ell8GVfGJHrJRLv\nCZfDVvps84JbCcPk3Ah34SxtghERUcJhwU1xR+7WDaGePWHauBH+sWO1jnPcFEMGpOwLIWVfCChh\n6D3fwez8EKn7F8Pw3c0I2IfCn3ku/BlnQ/QfhunnNhG9ZyeC9oHwp5+Jul4PI2AfBIimY97H3eMe\nOLZfC/uPc1DX+5GIZE898AI83W7ulK0T/oxRSP/hXujr9yCU0qvxdb3nOyh6O2RLNw3TERFRIul8\nP0UpIRxdrSQZCu4mBBEh2wB4bAPg6X47hFAdTDWbYHJuQErZXxE2doU/40zU9bgPAfsQ4Biz3y1f\nW4eafs+hyzeTEDy0Ar4TLj+uqPr63TDWfg1Xv8XHdZ2EJerh63oJLBUr4e75QOPL5hquTkJERO3D\ngpviknTBBbA/+SQErxeK1ap1nKhR9HZIXSZB6jIpMtczpME54CVkbr0YoZTeCNoHd/haqfufR33+\ntcdseekMvDnFyPz2SrhPvA8QdAAalgP05N+gcTIiIkoknecpKEoo4cxMBE47DeZ167SOknBCKb1R\ne9LTcJTcCNF/pEPX0EkHYa5+D/W50yKcLrGEUvpANp0Ak/MjAIAge2Fwb0UgfYTGyYiIKJGw4Ka4\n5bvoooTbBCdeSFnnwZtzJTJKbgTCgXafn3JgKbwnXMFtywF4cy6D9ec1uY2uzxC0nQJFn6JxKiIi\nSiQxaymprq7G4sWL4XK5IIoixowZg4kTJzY5xuv14rnnnkNVVRXC4TAuuOACjBo1KlYRKc5IY8ci\n7f77k76tJFrchTOR4dmBtD0PobbPE6rPEwNOWA//B0eGfhDFdInDl30h7D890bDaDLdzJyKiDojZ\nDLdOp8O0adPwzDPP4NFHH8W6detw8ODBJsesW7cO3bp1w7x58zB79my8+uqrkGU5VhEpzih2O4ID\nB8L48cdaR0lMgghXv0Uwuj6Dtfzvqk9LOfgSfF0mImzKiWK4xKEY0uF3jILlyFtcf5uIiDokZgV3\neno6CgsLAQBmsxl5eXlwOp1NjhEEAT6fDwAgSRJsNht0Ol2sIlIcksaNg/m997SOkbAUvQ3OActh\n2/skDLVftXm8EKqHtfzlhqUAqZE3pxipB5ZCDDoRTB2gdRwiIkowmvRwHzlyBKWlpejdu3eT1ydM\nmICysjLcdNNNuPfeezF9+nQt4lEckcaOhfn994FwWOsoCUu29oLrpPlwlNwE0V/R6rHWQ/9AIP0M\nyNaeMUqXGPyOkRDCAfgzRnaqHTeJiCgyYr4soCRJWLBgAaZPnw6z2dzkva1bt6JHjx6YPXs2Kioq\n8Mgjj+Dpp59udlxJSQlKSkoaPy4uLobNZotJ/kRnNBoTa6xOOQVIT0fanj0IDxkSs9sm3Di1xXYx\nQsE96LLzZnjPWA3oWthAJxxAysFl8A39u+rPPenGqRWB/rMBS/cOf76daayOB8dJPY6VOhwndThO\n7bNy5crGfxcVFaGoqKjV42NacMuyjPnz52PkyJEYOnRos/c3bNiAqVOnAgBycnKQnZ2NgwcPomfP\nprNtLX1ibrc7esGTiM1mS7ixEsaMgfLWW3D36ROzeybiOLUp5yZkVH8NccudqO3zFCAITd62HFqB\noOVE1Op6Ayo/96Qcp2NJn9Lw/x38fDvVWB0HjpN6HCt1OE7qcJzUs9lsKC4ubtc5Mf3b6JIlS5Cf\nn99sdZKjsrKysH37dgCAy+XCoUOH0LVr11hGpDjEPu4IEUS4+i6EsfYrWMv/1vQ9JYzUAy/AXXCb\nNtmIiIiSWMxmuHfu3IlNmzahoKAAs2bNgiAIuPLKK1FZWQlBEDB27FhccskleOGFF3DPPfcAAK6+\n+mqkpqbGKiLFqcCQIRDLyyGWlyOcm6t1nISm6FPhHLAcWVumIpTSF4H00wEA5qp3oehSEEg/S+OE\nREREySdmBXffvn2xYsWKVo/JyMjAgw8+GKNElDD0evjPPRfm99+H95prtE6T8GTriXD1XYiM725G\n5eB3EDadgNT9i+EpuK1ZmwkREREdPz5uTwmBbSWR5c8cjfq838JRcgNMzg0QQ7WQsiZoHYuIiCgp\nseCmhOAfNQrGzZsheL1aR0kanoLbIJvz4Si5Hp6CWwGBa94TERFFAwtuSghHd500bdqkdZTkIQhw\nnbQAnrzfwtv1Yq3TEBERJS0W3JQwpHHjYGJbSUQp+hS4ez4IiC2sy01EREQRwYKbEoY0bhzMH3zA\nXSeJiIgoobDgpoQhFxYinJYGw7ffah2FiIiISDUW3JRQpHHjYH7/fa1jEBEREanGgpsSip/LAxIR\nEVGCYcFNCaVx18mDB7WOQkRERKQKC25KLDpd466TRERERImABTclHPZxExERUSJhwU0Jh7tOEhER\nUSJhwU0JR7HbERw0CKaNG7WOQkRERNQmFtyUkKRx42BiWwkRERElABbclJC46yQRERElChbclJDk\n7t0RTk/nrpNEREQU91hwU8KSxo7lJjhEREQU91hwU8LirpNERESUCPSxulF1dTUWL14Ml8sFURQx\nZswYTJw4sdlxJSUleOWVVyDLMux2O2bPnh2riJRgAkOGQKyogO7gQch5eVrHISIiImpRzApunU6H\nadOmobCwEJIk4b777sPAgQOR94tCyev1Yvny5fjDH/4Ah8OBurq6WMWjRPTzrpOm996Dd/p0rdMQ\nERERtShmLSXp6ekoLCwEAJjNZuTl5cHpdDY55uOPP8awYcPgcDgAAHa7PVbxKEFx10kiIiKKd5r0\ncB85cgSlpaXo3bt3k9fLy8vh8XgwZ84c3H///djIjU2oDf5Ro2D88ksI9fVaRyEiIiJqUcwLbkmS\nsGDBAkyfPh1ms7nJe+FwGHv37sX999+PBx54AP/5z39QUVER64iUQBSbDcFTT4Vp0yatoxARERG1\nKGY93AAgyzLmz5+PkSNHYujQoc3edzgcsNvtMBqNMBqN6NevH/bt24ecnJwmx5WUlKCkpKTx4+Li\nYthstqjnTwZGozHpxkqZNAmpGzbAcNllEbtmMo5TNHCc1ONYqcNxUo9jpQ7HSR2OU/usXLmy8d9F\nRUUoKipq9fiYFtxLlixBfn5+i6uTAMDQoUPx4osvIhwOIxgMYvfu3Zg8eXKz41r6xNxud1QyJxub\nzZZ0Y6UbORJZ8+fDXVsLiJH5o00yjlM0cJzU41ipw3FSj2OlDsdJHY6TejabDcXFxe06J2YF986d\nO7Fp0yYUFBRg1qxZEAQBV155JSorKyEIAsaOHYu8vDwMHDgQ99xzD0RRxNixY5Gfnx+riJSg5O7d\nEc7IgGHrVgQHD9Y6DhEREVETMSu4+/btixUrVrR53JQpUzBlypQYJKJkIv28CQ4LbiIiIoo33GmS\nkgJ3nSQiIqJ4xYKbkkJg8GCIhw9Dd/Cg1lGIiIiImmDBTclBp4N/9GiYOMtNREREcYYFNyUN7jpJ\nRERE8YgFNyUN/znncNdJIiIiijssuClpNO46uXGj1lGIiIiIGrHgpqQicbUSIiIiijMsuCmpSOPG\nwfTBB0A4rHUUIiIiIgAsuCnJyAUFCGdmwrBli9ZRiIiIiACw4KYkxNVKiIiIKJ6w4KakI40dyz5u\nIiIiihssuCnpBI/uOllWpnUUIiIiIhbclISO7jrJthIiIiKKAyy4KSlJ550Hy9q1WscgIiIiYsFN\nycl/7rkwfPstRKdT6yhERETUybHgpqSkWCzwjxwJ87p1WkchIiKiTo4FNyUt36RJMK9apXUMIiIi\n6uRYcFPS8o8ZA+NXX0FwubSOQkRERJ0YC25KWkpKCvxnnQXzu+9qHYWIiIg6sZgV3NXV1ZgzZw5m\nzpyJ3/3ud1i9evUxj92zZw+uuOIKfPHFF7GKR0lKmjQJFraVEBERkYb0sbqRTqfDtGnTUFhYCEmS\ncN9992HgwIHIy8trclw4HMY//vEPDBo0KFbRKIlJY8ci7fe/h1BXB8Vu1zoOERERdUIxm+FOT09H\nYWEhAMBsNiMvLw/OFpZsW7t2LYYPHw47iyOKAMVmQ+CMM7jVOxEREWlGkx7uI0eOoLS0FL17927y\nutPpxJdffolx48ZpEYuSFFcrISIiIi3FvOCWJAkLFizA9OnTYTabm7z38ssv4+qrr4YgCAAARVFi\nHY+SkDR+PEyffALB49E6ChEREXVCMevhBgBZljF//nyMHDkSQ4cObfb+Tz/9hIULF0JRFLjdbmzZ\nsgV6vR6nnXZak+NKSkpQUlLS+HFxcTFsNlvU8ycDo9HY+cbKZkN4xAikf/IJQpdequqUTjlOHcBx\nUo9jpQ7HST2OlTocJ3U4Tu2zcuXKxn8XFRWhqKio1eMFJYbTyIsXL4bNZsO0adPaPPaFF17AkCFD\nMGzYMFXXLi8vP954nYLNZoPb7dY6RsxZVqyA+f33UbNsmarjO+s4tRfHST2OlTocJ/U4VupwnNTh\nOKmXm5vb7nNiNsO9c+dObNq0CQUFBZg1axYEQcCVV16JyspKCIKAsWPHxioKdULS+PFImz0bgtcL\nxWrVOg4RERF1IjEruPv27YsVK1aoPv7WW2+NYhrqbJSMDAQGD4Zp/XpIkydrHYeIiIg6Ee40SZ2G\nNGkSLO+8o3UMIiIi6mRYcFOnIU2YANOGDRB8Pq2jEBERUSfCgps6jXBmJoKnnALThg1aRyEiIqJO\nhAU3dSrcBIeIiIhijQU3dSrSxIkwr18PSJLWUYiIiKiTYMFNnUq4SxcE+/eHaeNGraMQERFRJ8GC\nmzodH1crISIiohhiwU2djnT++TC//z7g92sdhYiIiDoBFtzU6YRzchDs0wemjz/WOgoRERF1Aiy4\nqVOSJk2ChauVEBERUQyw4KZOSZo4EeZ164BgUOsoRERElORYcFOnJOflIdSjB0yffqp1FCIiIkpy\nqgrud955B/v27QMA7Nq1C7fccgtmzJiBXbt2RTMbUVT5Jk/mJjhEREQUdaoK7lWrViE7OxsA8Prr\nr2Py5Mm4+OKL8fLLL0czG1FUSZMmwbxmDRAKaR2FiIiIkpiqgtvr9cJqtcLn82Hfvn04//zzMXr0\naJSXl0c7H1HUyN26Qe7WDcbPPtM6ChERESUxVQV3ZmYmfvjhB3zyySfo168fRFGE1+uFKLIFnBIb\nVyshIiKiaFNVMf/mN7/BggUL8MYbb+DSSy8FAHzzzTfo1atXVMMRRZtv4sSGthJZ1joKERERJSm9\nmoMGDx6MpUuXNnlt+PDhGD58eFRCEcWK3KMHwl27wrh5MwJnnKF1HCIiIkpCqma4y8rK4HK5AACS\nJGHlypV48803IXNWkJKAb9IkrlZCREREUaNqhvvZZ5/FzJkzkZ6ejldffRWHDh2CwWDAX/7yF9x+\n++2qblRdXY3FixfD5XJBFEWMGTMGEydObHLMxx9/jLfeegsAYDabccMNN6CgoKCdnxJR+/gmTUJW\ncTHq5s4F+FwCERERRZiqgruyshK5ublQFAVffvkl5s+fD6PRiBkzZqi+kU6nw7Rp01BYWAhJknDf\nffdh4MCByMvLazwmOzsbc+bMgdVqxdatW7F06VI8+uij7f+siNpB7tUL4YwMGL/6CoHTT9c6DhER\nESUZVdN5BoMBPp8Pe/bsQWZmJux2OwwGA4Lt2BY7PT0dhYWFABpmr/Py8uB0Opsc06dPH1itVgBA\n7969m71PFC2+yZNhfucdrWMQERFRElJVcJ955pmYO3cunn/+eYwaNQoAsHfv3sbNcNrryJEjKC0t\nRe/evY95zAcffIBBgwZ16PpE7SVNmgTL6tVAOKx1FCIiIkoyqlpKpk+fjm+//RY6nQ4DBgwAAAiC\ngGnTprX7hpIkYcGCBZg+fTrMZnOLx+zYsQMbNmzA3Llz2319oo4I9emDcGoqDFu2IDhkiNZxiIiI\nKIkIiqIoag+uqqqC0+mEw+FAVlZWu28myzKeeOIJnHrqqc0emDyqtLQU8+fPxwMPPICcnJwWjykp\nKUFJSUnjx8XFxXC73e3O0xkZjUYEAgGtY8Ql4yOPQPD54H/0UY6TShwn9ThW6nCc1ONYqcNxUofj\npJ7NZsPKlSsbPy4qKkJRUVGr56gquGtqarBw4ULs3r0bqampcLvd6NOnD+688044HA7VARcvXgyb\nzXbMmfGqqirMnTsXM2bMQJ8+fVRfFwC3mVfJZrPxl5Nj0H/3HRzXXosjn38Om93OcVKBX0/qcazU\n4Tipx7FSh+OkDsdJvdzc3Hafo6qlZNmyZejevTvuv/9+mM1mSJKE119/HcuWLcN9992n6kY7d+7E\npk2bUFBQgFmzZkEQBFx55ZWorKyEIAgYO3Ys/v3vf8Pj8WD58uVQFAU6nQ6PP/54uz8poo4I9esH\nGAwwbNsGnHWW1nGIiIgoSaia4b7uuuuwdOlS6PX/q8+DwSBuvvlmLF++PKoB1eIMtzr8DbZ1tscf\nb3hw8oknOE4q8OtJPY6VOhwn9ThW6nCc1OE4qdeRGW5Vq5SkpKSgrKysyWvl5eWNS/gRJQtp8mRY\nVq0C1D/aQERERNQqVS0lU6ZMwZ/+9CeMHj0aXbp0QWVlJTZs2IDLL7882vmIYir48yo84rZtwIkn\napyGiIiIkoGqgnvs2LHIycnBxx9/jP379yMjIwN33nln4xKBRElDECBNnAjDW28BM2dqnYaIiIiS\ngKqCGwAGDBjQpMAOh8NYsWIFZ7kp6fgmToTl7ruBu+4CBEHrOERERJTgVPVwt0SWZfz3v/+NZBai\nuBAcNAiC1wv97t1aRyEiIqIk0OGCmyhpiSJCkyfDvGqV1kmIiIgoCbDgJmpB6MILYVmzRusYRERE\nlARa7eHesWPHMd8LhUIRD0MUL+QzzoDp8GHoSkshd++udRwiIiJKYK0W3EuWLGn15KysrIiGIYob\nOh2k886DefVq1N9yi9ZpiIiIKIG1WnA///zzscpBFHekiRNhmz+fBTcREREdl1Z7uG+55RYsXboU\nmzdvht/vj1UmorjgHzEC+p9+glhernUUIiIiSmCtFtyPPfYYevfujY0bN+LWW2/Fn/70J7zzzjso\nZwFCnYHRCGnMGJjXrdM6CRERESWwVltKMjIyMHr0aIwePRqyLOP777/HN998g3nz5iEUCuHUU0/F\n4MGDUVRUBIPBEKvMRDEjTZqElGXL4L32Wq2jEBERUYJSvdOkTqdr3G3ymmuuwZEjR/DNN99gzZo1\n2L9/P6ZMmRLNnESakEaORPqdd0KsrkY4M1PrOERERJSAVBXcq1evxllnnQW73d74WnZ2NiZMmIAJ\nEyZELRyR5iwW+M85B+Z16+C96iqt0xAREVECUrXxzfbt23HbbbfhiSeewKeffopgMBjtXERxwzdx\nIsyrV2sdg4iIiBKUqhnu++67D263G5988glWrVqFZcuWYdiwYRg5ciT69+8f7YxEmvKPGYP0WbMg\n1NZCSUvTOg4RERElGNU93DabrbGFpLS0FIsXL8aHH36IrKwsjBkzBhMnToTZbI5mViJNKKmpCAwf\nDvP778N3ySVaxyEiIqIEo6ql5Kjt27fjhRdewMMPP4y0tDTMmDEDM2bMwN69e/HYY49FKyOR5nwT\nJ8K8Zo3WMYiIiCgBqZrhfvXVV/Hpp5/CarVi5MiRmD9/PhwOR+P7vXv3xrVtLJtWXV2NxYsXw+Vy\nQRTFxlnxX3vxxRexdetWmEwm3HbbbSgsLGzfZ0QUBdL48Uh76CEIXi8Uq1XrOERERJRAVBXcwWAQ\n99xzD3r16tXyRfR6PPHEE61eQ6fTYdq0aSgsLIQkSbjvvvswcOBA5OXlNR6zZcsWHD58GIsWLcLu\n3buxbNkyPProo+34dIiiQ8nIQPDUU2H68ENIkyZpHYeIiIgSiKqWkosuugg5OTlNXvN4PHA6nY0f\n/7Jwbkl6enrjbLXZbEZeXl6T8wHgyy+/xDnnnAOgYdbc6/XC5XKpiUgUdVythIiIiDpCVcE9b968\nZsWx0+nE008/3aGbHjlyBKWlpejdu3eza2b+YnMRh8PR7L5EWpEmTIB5/XrA79c6ChERESUQVQV3\neXk5CgoKmrxWUFCAgwcPtvuGkiRhwYIFmD59uqpVTQRBaPc9iKIhnJ2NYN++MG3apHUUIiIiSiCq\nerjtdjsqKiqatJVUVFTAZrO162ayLGP+/PkYOXIkhg4d2ux9h8OB6urqxo+rq6uRkZF09FG8AAAg\nAElEQVTR7LiSkhKUlJQ0flxcXNzuLJ2V0WjkWKlwrHFSLroI9vfeg3TRRRqkij/8elKPY6UOx0k9\njpU6HCd1OE7ts3LlysZ/FxUVoaioqNXjVRXc5557LubPn48rrrgCXbt2RUVFBVasWIHRo0e3K9yS\nJUuQn5/f4uokAHDaaadh3bp1GDFiBHbt2oWUlBSkp6c3O66lT8ztdrcrS2dls9k4Vioca5x0o0cj\n66mn4K6pAfSql7FPWvx6Uo9jpQ7HST2OlTocJ3U4TurZbDYUFxe36xxVFcPUqVOh1+vxt7/9DdXV\n1cjMzMTo0aMxefJk1TfauXMnNm3ahIKCAsyaNQuCIODKK69EZWUlBEHA2LFjMXjwYGzZsgW33347\nzGYzbrnllnZ9MkTRJufnQy4ogPGzzxA4+2yt4xAREVECEBRFUbQOEQnl5eVaR0gI/A1WndbGKfW5\n56A7dAi13OyJX0/twLFSh+OkHsdKHY6TOhwn9XJzc9t9juq/iYdCIZSXl6Ourq7J6wMGDGj3TYkS\nmW/iRGRddhlqH3kEENu1WSsRERF1QqoK7p07d2LBggUIBoPw+XywWCyQJAmZmZlYvHhxtDMSxRW5\nZ0+EMzJg/PprBFp4+JeIiIjol1RNz73yyiuYMmUKXnrpJVgsFrz00ku45JJLMH78+GjnI4pL0vnn\ncxMcIiIiUkX1Oty/Xllk6tSpWLVqVVRCEcW7xl0nk+MRCCIiIooiVQW31WqFz+cD0LBFe1lZGTwe\nDyRJimo4ongV6tcP0Oth2LFD6yhEREQU51T1cA8bNgxbtmzBWWedhdGjR2POnDnQ6XQ444wzop2P\nKD4JQsMs96pVCJ58stZpiIiIKI6pKrinT5/e+O8LLrgAvXv3hs/nw8CBA6OViyjuSeefj/SZM+H+\n/e+1jkJERERxrM2WknA4jNtvvx3BYLDxtb59++LUU0+FyCXRqBMLDhoEsb4e+l27InI989q1EKuq\nInItIiIiih9tVsyiKEIUxSYFNxEBEMXGtpLjIsuwP/QQ0n/3OziuvRbgsxFERERJRdUU9cSJE/HM\nM8/gu+++Q0VFBQ4fPtz4P6LOTDr/fFjWrOnw+YLHA8f06TD88AMOf/IJ5NxcpN97L1c/ISIiSiKq\nerhffPFFAMC2bduavbdixYrIJiJKIIHTT4d4+DB0paWQu3dv17m6gwfhmDYNgcGDUfvoo4DBANfC\nhci8+GKkPv88PDNmRCk1ERERxZKqgptFNdEx6HSQzjsP5jVrUH/zzapPM2zZAsf118Nz442ov/FG\nQBAAAIrFAueLL6LL5MkI9eoFacKEaCUnIiKiGOFTj0THSZo4EZZ29HGb334bjmuugevxx1F/002N\nxfZR4RNOgHP5cqTdey/0JSWRjktEREQxpmqG+6GHHoLwq6LgqDlz5kQ0EFGi8Y8YgYzbboN46BDC\nJ5xw7AMVBamLFsH62muofv11hAYMOOahwUGDUPvII3D89reoeucdhLt0iUJyIiIiigVVBffo0aOb\nfOxyufDhhx/i7LPPjkooooRiNEIaMwbmtWvhvfbalo/x+5E+axb0u3ah6u23Ec7JafOy0oUXwrB7\nNxzXXYeqlSsBsznCwYmIiCgWVBXco0aNavba8OHD8cILL+DSSy+NdCaihCNNmoSUZctaLLhFpxMZ\n11+PcGYmqv/zHyhWq+rruu++G/rdu5F+771wLVrUrP2EiIiI4l+He7gdDgdKS0sjmYUoYUkjR8Kw\nYwfE6uomr+v37EHWBRcgcNppqFm6tF3FNgBAFOFauBD6PXuQ+vzzEUxMREREsaJqhnv9+vVNPg4E\nAvjiiy/Qp0+fqIQiSjgWC/znnAPzunXwXnUVAMC4aRMyZsxA3QMPwHf55R2+dJOVS3r3hnTeeZFK\nTURERDGgquDetGlTk49NJhNOOukkTJo0KSqhiBKRb+JEWP/9b3ivugrWv/8dtqeeQs2SJQiMGHHc\n1z66conj//4Pofx8hIqKIpCYiIiIYkFQlNhsabdkyRJ88803SEtLw9NPP93sfa/Xi+eeew5VVVUI\nh8O44IILWuwdP5by8vIIpk1eNpsNbrdb6xhxryPjJHg86DpkCLyXXQbzhx+i+tVXIffsGdFc5rfe\ngv2xx+Jm5RJ+PanHsVKH46Qex0odjpM6HCf1cnNz232Oqh7ujz76qFm/9r59+7Bx40bVNzr33HPx\n4IMPHvP9devWoVu3bpg3bx5mz56NV199FbIsq74+kdaU1FT4zz4bhp07Ufn22xEvtoGGlUt8l10G\nx3XXAZIU8esTERFR5KkquFesWIHMzMwmr2VlZeGf//yn6hv17dsXKSkpx3xfEAT4fD4AgCRJsNls\n0Ol0qq9PFA9qnnsO1StWQHE4onYP9913Q87JQfqsWUBs/kBFREREx0FVwe3z+WD91eoKVqsV9fX1\nEQsyYcIElJWV4aabbsK9996L6dOnR+zaRDFjsQDR/kVRFOF69lnod+1C6gsvRPdeRERErQkEoN+1\nS+sUcU9VwZ2fn4/PP/+8yWubN29Gfn5+xIJs3boVPXr0wNKlS/Hkk09i+fLlkPgnc6IWHV25JOXF\nF2Fet07rOERE1EmlvPYaMi+/HAiHtY4S11StUnL11Vfj8ccfx6effoqcnBxUVFRg+/btuP/++yMW\nZMOGDZg6dSoAICcnB9nZ2Th48CB6ttAHW1JSgpKSksaPi4uLYbPZIpYlmRmNRo6VCgkxTiedBOkf\n/0D6ZZfBd9JJCJ98cswjJMQ4xQmOlTocJ/U4VupwnNTp0DiFw0h5+WUIPh/SfvoJ4VNPjU64OLRy\n5crGfxcVFaGojdXDVBXcffv2xfz58/Hxxx//f/buO7yp6o0D+Pdm3Kymm40gClIEBGS0DIHSCoqI\niFIZikwVRbaoQBEBQZaKMkQoogwRUUB+yi6UJXsXEJClZZWmI80e9/dHpFLouElubpLyfp7Hx9Lc\nnPvm9DZ9c+4578Ht27dRs2ZN9OnTB9HR0W4Fx3EciiuKEh0djZMnTyImJgY5OTm4fv06KlSoUOSx\nRb0wWlnLD61C5ido+ql2bVgmTULoK6/4pXJJ0PRTAKC+4of6iT/qK36on/jxpJ8U27ZBoVLB2qMH\nnL/+ivyaNX0UXWDRarVISkpy6zm8ygLabDYwDAOZ7L/83G63g+M4yOVyXieaPXs2Tp8+Db1ej7Cw\nMCQlJcFut4NhGCQmJiI7Oxvz5s1DdnY2AKBLly5o1aoV7xdCZQH5oTcefoKtn7SzZkGRmoqs1avB\nqVTinTfI+smfqK/4oX7ij/qKH+onfjzpp8hevWB64QU4qlZF6OTJuP377z6KLrB4UhaQV8L90Ucf\noVevXoV2ljx37hxWrFiBCRMmuH1SX6CEmx964+En6PqJ4xA+dCgYgwHZ33zj+4Wb/wq6fvIj6it+\nqJ/4o77ih/qJH3f7SXbhAqJefhk39+0DpFJUbNAAt7Zvh7OY2Qllic/qcF+9ehW1atUq9L2aNWve\nV5ubEOInDIOcmTMhyc1F6KRJ/o6GEEJIGadZvBjGXr0ApRKQy2Fp0wbK1FR/hxWweCXcarUaubm5\nhb6Xm5sLhULhk6AIIR5gWegWLYJi+3aolyzxdzSEEELKKCY3F6q1a2F47bWC75kTE6HYutWPUQU2\nXgl3bGwsZs+ejatXr8JiseDq1auYM2cO4uLifB0fIcQNXHg4dN9/D+2XX0KxZYu/wyGEEFIGqX/4\nAeZ27eCsWLHge5b4eCj27AEsFj9GFrh4Jdzdu3dHlSpVMGbMGPTu3Rtjx45FlSpV0L17d1/HRwhx\nk6N6degWLUL4iBGQnzzp73AIIYSUJQ4HNEuWwNC/f6FvOyMjYa9dG4p79m0hLrwSbpZlMWDAACxd\nuhQLFy7E5MmTIZPJMHToUF/HRwjxgO3JJ5H76aeI7NMHkowMf4dDCCGkjFBu2QJndDRsRdTcpmkl\nxeNVhxsA8vLysHv3bqSlpeHy5cuoU6cObb9OSAAzP/ccpH//jajXX8ftNWvA0cYPhBBCvKRJSYFh\nwIAiHzMnJiKyXz/kTZwIMIzIkQW2EhNuu92OQ4cOYceOHTh+/DgqVqyIli1b4tatWxg+fDjCwsLE\nipMQ4gHDm29CduUKIt58E7rvvgN41s0nhBBC7iU7fRqyixdh6tixyMftMTGAwwHZ+fOw31VKmpSS\ncA8cOBASiQRt2rRBUlISHnnkEQDA5s2bRQmOEOIlhkHupEmI7NsXYWPGIHf6dBp1IIQQ4hHNt9+6\nKpOwbNEHMAwsiYlQbt2KfEq4CylxDnf16tVhMBhw4cIF/PXXX8jPzxcrLkKIUGQyZM+fD/b4cYTM\nnevvaAghhAQhiU4H1W+/wfjqqyUeR/O4i1biCPeECROQmZmJtLQ0rF+/Ht9++y2eeOIJWCwWOBwO\nsWIkhHiJCwlB1nffIbpzZ9gfegjmF17wd0iEEEKCiHr5cpg7dIAzOrrE4yzNmyNi0CAw2dngIiJE\nii7wlVqlpFy5cnj55Zfx5ZdfYvz48YiIiADDMHjvvfewbNkyMWIkhAjAWakSdEuWICw5GezBg/4O\nhxBCSLCw2aD57jvk31MKsEgqFazNm0OZlub7uIIIr7KAd8TExODNN9/EN998g759++Lq1au+iosQ\n4gP2unWRM3s2It54A9JLl/wdDiGEkCCg3LAB9mrVYK9Xj9fxNK3kfm4l3HewLItWrVphzJgxQsdD\nCPExS3w89CNGIOq118DodP4OhxBCSIDTLF5830Y3JTEnJEC5fTtgt/swquDiUcJNCAluxtdeg/mZ\nZxDZvz9gNvs7HEIIIQFKfuIEpNeuwdyhA+/nOCtVgr1qVbCHD/swsuBCCTchD6i8MWPgLFcOEcOG\ngcnL83c4hBBCApAmJQXGPn0AGe+9EgEAFppWUggl3IQ8qCQSZM+eDY5lUaF5c4QmJ9O8bkIIIQUk\nmZlQbtkCQ48ebj/XnJAAJSXcBSjhJuRBplIh58svcWvLFnBqNaI7d0Zknz5gd+8GOM7f0QUUyY0b\nYPR6f4dBCCGiUS9bBlOnTh6V97M1bAiJTgcpFdgAQAk3IQSAs3Jl6D/8ELcOHIA5MRFh48ah3NNP\nQ7VyJc3x/lfY+PEInTLF32EQQog4rFZovv8ehn79PHu+RAJLu3ZQbNsmbFxBihJuQkgBTqWC8dVX\nkbl9O/KSk6H67TdUiI2FdsYMSG7e9Hd4fsUePgzV2rVgTCZ/h0IIIT6nWr8e9scegz0mxuM2zP9u\n805ETLjnz5+PgQMHYtSoUcUek56ejtGjR2PkyJH4+OOPxQqNEHIvhoGlTRvoli5F1s8/Q6LToXx8\nPMKHDIH85El/Ryc6SUYGYLfD2qQJlP/7n7/DIYQQ3+I4aFJS+G10UwJL69ZgDx4EYzAIFFjwEi3h\njo+Px9ixY4t93Gg0IiUlBR988AFmzZqF4cOHixUaIaQE9po1kTt1Km7u2QN7TAwi+vVD1EsvQblh\nA+Bw+Ds8UbCHD8PauDGMPXtC/cMP/g6HEEJ8Sn74MCQ5ObAkJHjVDqfVwvbkk1Ds2iVQZMFLtIQ7\nJiYGGo2m2Md3796N2NhYREZGAgBCQ0PFCo0QwgMXEYH8t9/Grb17YXj9dYTMmwd1u3YPxOJK9vBh\n2J58EubERMguXoT0wgV/h0QIIT6jWbwYhr59AanU67Z8tuuk0wnYbMK36yMBM4f72rVryM/Px8cf\nf4wPP/wQO3fu9HdIhJCiyOUwd+6M27/+CubaNUj//tvfEfncnRFuyOUwdusGzcqV/g6JEEJ8QnL9\nOpRpaTC+8oog7ZkTEqDcts2VIAsofMQIhCUnC9qmLwVMwu10OnHp0iV8+OGHGDNmDH7++WfcuHHD\n32ERQorDMHC0bAl23z5/R+JbZjNkZ8/C1qABAMDYvTtUP/0EWK1+DowQQoSn+f57GF98EZxAMw0c\nNWrAqdUKuv5HkZoKxa5dUK1fD1gsgrXrS+5tG+RDkZGRCA0NBcuyYFkWderUweXLl1GxYsX7jk1P\nT0d6enrBv5OSkqDVasUMN2ixLEt9xQP1E0+tWyPk0CHIvFxYE8gkp0+Dq10bIRUquL7RsCG42rUR\nsWcP7J07826Hril+qJ/4o77ih/qJH5ZloZXLofnhBxg3bhS0z7iOHRG6axesrVp535heD82YMTAv\nWAB22jSEHzgAR8eO3rfrplWrVhV8XbduXdStW7fE40VNuDmOA1fMfM+mTZti8eLFcDqdsNlsOH/+\nPDp16lTksUW9MD1tSMGLVqulvuKB+okfSVwcFF98Uab7SrNzJ8wNGxZ6jfakJKgWL4Y+Pp53O3RN\n8UP9xB/1FT/UT/xotVrYly6FtX595FWsCAjYZ5bWrRE6eTL0gwd73VbY2LEwtWyJ3CZNoO7UCYoV\nK6B/6ikBouRPq9UiKSnJreeIlnDPnj0bp0+fhl6vx6BBg5CUlAS73Q6GYZCYmIgqVaqgQYMGGDVq\nFCQSCRITE1G1alWxwiOEeMAZEwMmNxeS69fhrFTJ3+H4BHv4MMzPPlvoe+bnnkPYRx9BkpEBZ5Uq\nfoqMEEIExHEISUlBXgkV5TxlbdoUssuXIbl5E847dws9wB44AOXGjbj172Y65uefR+jUqWAMBnAl\nFOYIBKIl3EOHDi31mM6dO6OzG7doCSF+JpHAGhsLxf79MHXp4u9ofII9cgR548YV+h6nUsH0wgtQ\nr1qFfCphSggpA6R79gAWCyytWwvfuFwOS5s2UKamwtijh2dtmM0IGzUKuZMmgQsPBwA4IyNhbdoU\nys2bYXrxRQEDFl7ALJokhAQna2xsmV04eWfDG0e1avc9ZrhTk/sBqUVOCCnb5F9/7drGXeKb1NCc\nkOBVeUDtF1/AXrs2zPfM1za98AJUa9d6G57PUcJNCPGKNS4O7P79/g7DJwrKATLMfY/Z69WDMzIS\nit27/RAZIYQIR3L9OmQ7d8LUrZvPzmFp1w6KPXsAs9nt58pOnYJ6xQrkfvLJfY+Zn3kG7P79YLKz\nhQjTZyjhJoR4xVa3LqQ3bkCSleXvUATHHj4MW+PGxT5u7NED6hUrRIyIEEKEp9y0CfYOHXw6D9oZ\nGQl77dpQuHtH1G5H+KhRyBs7Fs7y5e97mAsJgaV1a6h+/12gSH2DEm5CiHekUlibNCmTo9zs4cOw\nPvlksY+bunSBYufOMvlhgxDy4FBu2gR7MZXhhGROTITi3wWPfIV88w248HCYSqgKYurSBao1a7wN\nz6co4SaEeK1MzuO+Z8ObonBhYTC3bw/V6tUiBkYIIcJhcnPBHjkCe0KCz89lTkyEcutWoJgS0feS\nXrwIzbx5yJk+vcipfQXttmsH+ZkzkFy/LlSogqOEmxDiNUtcnPu3CQOc/ORJ2GvWBKdWl3icsWdP\nqFeu5P0HhBBCAokyNRXWuDggJMTn57LHxAAOB2Tnz5d+sNOJ8NGjkT9sWJEL1wtRKl2DH+vXCxOo\nD1DCTQjxmu2JJyC9fBlMbq6/QxFMafO377A2awbGbof88GERoiKEEGEpN26E+ZlnxDkZw8ByZ5S7\nFOrly8GYzTD07curaVOXLlCtW+dthD5DCTchxHssC1vDhmAPHPB3JIIpqFBSGoZxLZ784QffB0UI\nIUIym6FIS4P56afFOyWP8oCSa9egnT4dObNmAVIpr3YtLVtC+s8/kF66JESYgqOEmxAiCEvz5lCU\nlYWTHAf2yBF+CTcA48svQ7VhAxjaPpoQEkQUe/bAVqcOnNHRop3T0qIF5OnpxZfx4ziEf/ghDP36\nwV67Nv+GZTKYO3UK2JrclHATQgRRlhZOSq9dK3bDm6I4y5eHpUULqH791ceREUKIcJSbNok3neQO\nlQrW5s2h3LGj6Jh+/RXSf/5B/jvvuN10wbSSAFxTQwk3IUQQ1kaNIPvzTzAGg79D8Zr80KFiN7wp\nDk0rIYQEFYfDlXB36CD6qYsrDyjR6RD20UfImTkTYFm327U2bgzGZILs9GkhwhQUJdyEEGGoVLDV\nqwe2DCwe5Ltg8m6Wtm0hvXEjIN/oCSHkXuyRI3CWKwfHww+Lfm5zQgKU27cDdnuh74d+9BFML74I\nW6NGnjUskbi2eg/AxZOUcBNCBFNWppW4M3+7gFQK4yuvuEoEEkJIgFNu3OiX0W0AcFaqBHvVqoUG\naBTbtoE9fBj6997zqu2ChNvp9DZMQVHCTQgRjDUuLvgTbh4b3hTH2L07VL/8ApjNPgiMEEIEwnHi\nlgMsguWuaiWMXo+wDz5AzrRppe59UBr744+DU6kC7m4rJdyEEMFYmzSB/OTJoE44Cza8Uancfq7j\noYdgq18fqo0bfRAZIYQIQ3buHGC1wlavnt9iMN9Vjzt06lRY2rSB9amnvG+YYVyj3AFWrYQSbkKI\nYLiQENgfewzssWP+DsVjnszfvpuxRw+oV6wQMCJCCBFWwei2GwvDhWZr2BASnQ6qn36CctMm5CUn\nC9a2qUsXKP/3v/vmiPsTJdyEEEFZ4+LA/vGHv8PwGO8Nb4ph7tABsjNnIL18WbigCCGiC5k7F5r5\n8wOyxJy3/FWdpBCJBJZ27RA+ciRyJ08GFxYmWNOOGjXgqFoVij17BGvTW5RwE0IEZYmNDd4NcNzc\n8KZICgVML71EiycJCXKqtWsRsmgRQj/6KOAW4HlDkpEB2ZUrsMbF+TsUGJOSYOjdG+ZnnxW87UCb\nVkIJNyFEUNZmzSA/cgSw2fwditvc3fCmOMYePaBetSqgbmcSQvhjTCZIL15E5saNkJ86hfAhQwCr\n1d9hCUK5ZQvMiYmATObvUGBt3hx5kyf7pG1T585Qbt4cMGuKREu458+fj4EDB2LUqFElHnfhwgV0\n794d+4N1hIyQBxwXHg5H9eqQnzjh71Dc5smGN0Wx167tup2ZmipQZIQQMclOnYL9scfgLFcOWcuX\ngzEaEdmnT5nY2Evl5+okYnFWrAhbnTpQBsj7sGgJd3x8PMaOHVviMU6nEytWrEDDhg1FiooQ4guW\nuLignFbi7YLJuxl69qSdJ0WkWrkSoRMm+DsMUkawx4//VxpUpUL2N9/AUakSopKSIMnK8m9wXmBy\nciA/ehSWNm38HYooTF26BMy0EtES7piYGGg0mhKP2bhxI+Li4hAaGipSVIQQX7DGxgblwkmv52/f\nxfz881Ds3w/JjRuCtEdKpv7pJ6iXLQOTl+fvUEgZID9+HNa7B/9kMuTOnAnLU08huksXSP/5x3/B\neUG5bRssLVp4Xes6WJg6doRi504wer2/QwmcOdw6nQ4HDx7E008/7e9QCCFessbFgT10CHA4/B0K\nf15seFMUTqOBqVMnqH/6SZD2SPEkOh3k6emwtmrl2niIEC+xx47B9sQThb/JMNB/8AEMffoguksX\nyM6e9U9wXvD3Zjdi4yIjYY2NhXLTJn+HAv/PmP/XkiVL0KtXLzD/zp3kSijDk56ejvT09IJ/JyUl\nQavV+jzGsoBlWeorHqif+Cm2n7RacBUrIuzKFTgFSmB9TZqeDi4mBiHlywvXaP/+COnfH8wHH9A1\nxZMn/ST79Vc44uPhHDAA2g8/hHTwYL/WFxYLXVP8uN1PubmQ3rwJVePGRS8sHDYM1sqVEd29O8zL\nlsHRvLlwwfqSyQTl7t1wzJkDWRH9UVavJ657d2h//BGyvn0FbXfVqlUFX9etWxd169Yt8fiASbgv\nXryIL774AhzHQa/X4+jRo5DJZGjSpMl9xxb1wvQBcLsgGGi1WuorHqif+CmpnyRNm8K+bRsMjzwi\nclSe0ezaBWfDhsL+3B97DKxSCcvmzcAzz9A1xYMnv3sRa9civ2NHmBo1QnmDAea0NMHm4gcyep/i\nx91+YvfuBfv449CbTMUf9OyzUKhUCO/RAzmzZsHSvr0AkfqWYssWWOvWRZ5CARTRH2X1emJat0aF\n4cNhuHwZzqgoQdrUarVISkpy6zmiTinhOK7Ykes5c+Zgzpw5mDt3LuLi4jBgwIAik21CSHCwNm8O\nNogWTrKHD8P25JPCNsowrhKBtHjSZxiTCYo9e2BOSAAkEhhefRWaZcv8HRYREseJWma00ILJElja\ntoXu++8R/v77UP34owiReScgNrvxA06jgSU+3rXzpB+JlnDPnj0bycnJuH79OgYNGoTt27djy5Yt\n2Lp1q1ghEEJEZGnWDOy+fcGxS5sQG94Uw9i1K5TbtgE6neBtE4DdtQu2J54AFxEBADB16wblxo1g\ncnP9HBkRimbRIoSXUlJYSPJjx2DjWS3N1qgRbv/0E7SffYaQuXMD9/3O4YBy8+YHMuEG/q1Wsm6d\nX2MQbUrJ0KFDeR/79ttv+zASQogYnFWqgNNqITt3Dvbatf0dTomE2vCmKFxEBMwdOoCdNw9w432Q\n8KPauLFQEuGMjoalbVuofvkFRoHnbBI/cDqhWbIEjMnkSmZFmJsvP34ceR9+yPt4R82auL12LaJ6\n9YIkMxN548cDkoCpSQHAdQfPWaGCT97jgoG5bVuEjxgBSUYGnFWq+CWGwLoiCCFlijUuzjXKHeCE\n2vCmOPr33gO7cCGkGRk+af+B5XBAsXXrfaN2BdNKAnW0kfDG7t0LTqUCGAbSK1d8fj7J7duQ5OfD\nUaOGW89zVqqE2z//DPboUYQPHVr6rpRmM6T//AP50aNQbN4M9fLlCPniC4SOG4fw4cMFLyf6oFUn\nuY9CAdOzz0K1fr3fQgiYRZOEkLLHEhcHRVoajK+/7u9QSiTkhjdFcVSpAusbb0A7ZQpy5s712Xke\nNOyhQ65Ru4ceKvR9a4sWYCwWyA8fho3WAgU19YoVMPTqBcWBA2D374fp4Yd9ej75nXKAHnz45iIi\nkLVyJSLeeguRffvC3LEjJJmZkGZmQpKZCcnt2wVfMxYLnFFRcJQvD2d0NBzlysFZrhwcNWqAOX8e\nEe++i6yVKwGp1PsXxXFQbtoE3YIF3rcVxEwvvIDQyZNheOstv5yfEm5CiM9Y47RkYvAAACAASURB\nVOIQOm2aaLeCPcUeOYK8ceN8eg7rsGFQN2oE+cGDsDVt6tNzPSiKXQTGMAWj3DmUcActiU4H5Y4d\nyJ06FWAYKPbvh+mVV3x6Tvb4cVi9KGXKqVTQpaRAO3Mm2MOH4ShXDvYaNeBo1gzOO0l1uXLgwsKK\nf090OBD1yisI+eor5A8b5nEsd8jOngXsdthLKVtX1llbtID01i1IL1yAo2ZN0c9PCTchxGcc1aq5\nbgVfvuz2LVrRCLzhTbE0GuR9+CHCPv4Yt3/9NeDmeAadUkbtTElJ0LZsCSYnB1x4uMjBESGofvoJ\n5qefBhcWBmtsLEIWLvT5OeXHjsHYs6d3jchk0H/wgefPl0qR/dVXKPfss7C2aAFrs2ZehVMwnSSA\nBz1EIZXC9PzzUK9bB/3IkaKfnt7xCSG+wzCuaSUBPI+bPXkS9lq1XPNEfczUtSsA0G6IApCdOwfY\nbMWO2jkjI2GOj4ea+jo4cRzUy5fD+OqrAAB77dqQ5ORAcuuWT88p93KEWyjOSpWQM3MmwgcPBpOd\n7VVbyk2bHuz523cxdekC1dq1flnfQQk3IcSnAn3hpPzwYZ+UAyySRILcCRMQOnUqGKNRnHOWUcpN\nm2Bu377EUTvjq69CTYsngxJ74AAgkcB6Z0rQv1/7sra/NCMDkErhrFTJZ+dwhyUxEeZnn3WVRPTw\nGpZmZECakQErTWMD4CrjCIcD8lOnRD83JdyEEJ+yxsUF9AY4vl4weS9bkyawxMUhZN480c5ZFvHZ\nxMPavDkYmw3soUMiRUWEol62zDW1464PVNbYWJ++l3izYNJX8saMgTQjA+rvvvPo+cpNm2BJTCx6\ni/oHEcPA1Lmza5RbZJRwE0J8yl6zJhijMTBL4nEc2MOHYRV6h8lS6MeMgebbbwOzT4KA5MYNyC5f\nhjUuruQDGQaGXr1co9wkaDDZ2VBu3Qrjyy8X+r4lNhYKXybcJ07AynPDG9EoFMieNw/aWbMgS093\n++kPfDnAIhRsguN0inpeSrgJIb7FMK6RqQCcViK9dg1wOETfDMJRpQoMfftCO2WKqOctK5SbN8Pc\nrh0gl5d6rCkpCcotW8Dk5IgQmXuUv/0Gdu9e0f/wBzr1L7/A3K4duMjIQt+31a8P6ZUrPttFlD12\nzPeLpz3geOQR5E2YgIhBg9yaisZkZ0N+4gQsrVv7MLrgY4+JgTMszDVtSUSUcBNCfC5Qp5X4esOb\nkuS//TYU+/ZBfvCg6OcOdgXzt3lwRkbC3K4d1KtX+zgq96iXL0foxIkIS05G+RYtoJ05E9LLl/0d\nlv9xHNQrVsDYq9f9j7EsbA0a+GaKkNMJ+cmTvLd0F5vppZdge/JJhCYn836Octs2WFq2FGVBeLAx\ndeoE5caNop6TEm5CiM9ZYmOh+OMPf4dxH7Hnb9+NU6sLygTSCCd/jF4P9tAhWOLjeT/H2KsX1MuX\nB8ziSUVqKrQzZiBrxQpkbt2K7IULweTlIbpzZ0R17Qr1Dz+A0ev9HaZfyA8fBmOxwNq8eZGPW2Nj\nfTIyKb14Ec6wMDjvGVUPJLmffALFgQNQrVnD63g+6xweVJb4eCi2bxf1nJRwE0J8zl6nDiRZWb4t\n6eUB9sgR8SqUFIHKBLpPkZoKa7Nm4EJCeD/HGhcHOJ1gA+BuguzUKYQPGwbdwoVwPPoowDCw1a+P\nvIkTcfPQIRjeeAOKrVtRoVkzhL/7LhQ7dwIOh7/DFo3m350li7vrZImN9UmZUfb48YCcTnI3TqOB\nbv58hI4fX/rdEJMJil27YE5MFCW2YGN74glIsrMh/ftv0c5JCTchxPekUlibNg2saSVibXhTEioT\n6Dbl5s28p5MUYBjXKPfSpb4JiidpRgaiXn8duVOnFr3bKMvC/MwzyE5Jwa3du2Fr2BDaKVNQITYW\n2qlTIb1wQfygRcTk5UG5cSNM3boVe4ytcWPX4kGTSdBzy48fD7wFk0Ww16uH/GHDEPH224DVWuxx\nil27YKtf/7558ORfEgksbdqIOspNCTchRBSBtgGOmBvelITKBLrBaoVyxw73E24AxpdfhnLrVq83\nEfEUk5uLyNdeQ/6bb8L83HOlHu+MioKhf3/c3rgRWcuWgbHbEd2tG6Kffx7q778PyEWg3lKtWQPL\nU0/BGR1d7DGcWg17TAzYY8cEPXegLpgsiqFfPzjLl0fop58We4yKqpOUSuxpJZRwE0JEEWgLJ0Xd\n8KYUVCaQH8W+fbDXqAFnhQpuP5eLjIQ5MdE/iyetVkQOGABLq1YwDBzo9tPtMTHIS07GzYMHoR82\nDIq9e1GhZUtId+70QbB+wnHQLF9e9GLJe1ibNRP2vcRmg+zMGVcN7mDAMMj+7DOofv0VitTU+x+3\n26HYsoXmb5fC0rata21RCXcKhEQJNyFEFLZ69SD9+28wOp2/QwHg3wWT96Iygfx4u0W1X3ae5DiE\njxwJZ2go8j76yLuKODIZLAkJyP76a+gWLICyb1/Izp8XLlY/kp84AUavh6VVq1KPFXoDHNmff8JR\npYpb6wL8jYuMRPZXXyF85EhIbtwo9Bh76BAclSvDUbWqn6ILDs7ISNhr1hStPCAl3IQQccjlsDZu\nDEUALFwr2PAmQBJugMoElorjvK66YG3WDGAYUevvamfMgOzSJeTMmQNIpYK1a23VCpZJkxDZuzck\nmZmCtesv6uXLYezRA5CUnpZYmjYFe+QIYLcLcu5gWDBZFGvz5jC89hoihgwptLCWNrvhz9K2LZQi\nTSuhhJsQIppA2QBHmpEBOJ1wPPSQv0MpQGUCSyY/eRKcUgl7zZqeN3Jn8aRIO0+qV6yAau1a6JYs\n8claAXvPnjC9/DIi+/QBI/AiQjEx+flQ/e9/ML7yCq/juchIOKpUgdyDnReLIg/ShBsA8ocOBRwO\nhMyd6/qGAB9MHyTm+HgoduwQ5VyUcBNCRGONiwuIhFt+Zzt3P2x4UxIqE1i8gukkXv7MChZP+nhq\nk2L7dminT0fW0qUlLgL0ln7ECNgffRThgwcHbflA1bp1sDRv7tbcfCHncbPHjsEapAk3pFJkf/UV\nNIsXgz14ELIzZwCGgb1OHX9HFhRsDRtCcvMmJCKsnxEt4Z4/fz4GDhyIUaNGFfn47t278d577+G9\n995DcnIyrl69KlZohBCRWBs2hOzCBb9v6hFI87cLoTKBxRJq1I6LiPD54knZqVMIHzoU2XdqbfsS\nwyBn5kxI8vIQOnGib8/lI8XuLFkCwTbAMZkg/esv2OrW9b4tP3FWroyc6dMR/s47UP/4o+v3JMAG\nEwKWVApL69ZQijDKLVrCHR8fj7Fjxxb7ePny5fHxxx9jxowZeOmll7BgwQKxQiOEiEWh8N3WzG4I\ntPnbd6MygfeTXrkCSWam666EAIyvveazxZMFtbanTIG1qFrbvsCy0C1cCEVaGjSLF4tzToHITp2C\nJDMTljZt3Hqe5c4It5c/Q/np065pSkqlV+34m6V9e5ifeQYhixbR/G03WUSaViJawh0TEwONRlPs\n44899hjUajUAoFatWtAFSCUDQoiw/D6P22SC7M8/A3rOZh6VCSxEuWkTzE8/LdiiQ2vTpoBUKvh1\nWFBr+403YO7USdC2S8OFh0O3dClC5syBYvNmUc/tDc2KFa7Fkm7+bJ1VqoDTaCDzcjOgYF0wWZS8\nsWOR9/77sDZp4u9QgoqlbVsodu8GbDafnicg53Bv27YNDYNgxydCiPv8vQEOe+pUQGx4UxInlQks\nRLl5s7CLwO4snly+XLg2rVZEDhwIS8uWMLzxhnDtusHx0EPQpaQgfORIyI8f90sM7mCMRqjWreO9\nWPJeQszjlh87BltZyTcUCuQPGSJoNZwHgbNcOdirV/f5nVeZT1v3wKlTp7Bjxw5MLGEuWnp6OtLv\nWp2clJQErVYrRnhBj2VZ6iseqJ/48aif2rSBvF8/aKVS4N+7WmKSnzoFxMWJ/vN1u69Gj4aycWOE\nnT4NZ2ys7wILMPf1U1YW2PR0sM8+C1bID0l9+kDVoAGcViu4qCjv2uI4KN98EwgPBzdrluvaFkGR\n11Tr1rDOmYOo/v1h3LIFXLVqosTiCdmvv8IZFwdN7doePV/Spg00e/ZAOmhQiceV9LunOHkS3IgR\n9H6PB/vvHtehA7R79sDqxi62q1atKvi6bt26qFvKOoCASrivXLmCb775BmPGjEFICQXoi3phej8v\nwgoWWq2W+ooH6id+PO0nRUwMLGlpsPLY5EJoEXv3wtCxI0wi/3w96Sv7++9D8957uL1+Pa/6xGXB\nvf2kWrsW5pYtobfbASF/ZjIZpImJcCxeDMNbb3nVlHbGDHB//omsn34CJ+Ji12KvqTZtoHnrLahf\negm316wBFxYmWkzuiF60CLmDB8Pi4c9V1qABIqdPL/X3qrh+YvR6aP75B7lVqwp7bQWpB/nvHtuq\nFcLGjIG+mMIe99JqtUhKSnLrHKK+g3McB66YBQ63b9/GrFmzMHjwYFSsWFHMsAghIrM0bw6FP7Z5\nD8ANb0pi6toVzrAwRL30UpnZUdBdgk8nuYvx1VehWb7cs4V3Tidk6enQzpgB1Zo1Pqu17SnDgAGw\ntGyJyIEDRdu62h2ys2chzciApV07j9uwP/ooGJPJ47UO8hMnYH/8cUAWUGOPxA+sjRpBeu3afbt2\nCkm0q2z27Nk4ffo09Ho9Bg0ahKSkJNjtdjAMg8TERKxevRr5+flISUkBx3GQSqWYOnWqWOERQkRk\nbdkS4UOGuLZUrlgRjkqV4KxUyfX1v//5ompAIG54UyKJBLqlS6FeuhRRXbvC2Ls39O++G/QVFXgz\nmaDYvRs506f7pHlrkybg5HKwf/wBa4sWJR9ss0F+8iTY/fuh2LcP7MGDcEZFwRIbi6zly31aa9tT\neRMmILJ/f4S//z5yPvssoErFqVescM3d9ibZZZiCbd7v1LB3B3v8ePDW3ybCkslgadUKih07YOre\n3SenYLjihpyDzLVr1/wdQlB4kG8ZuYP6iR+P+4njID96FNK//4b0xg3Xf9evQ3Ln65s34dRo/kvC\nK1VyJeX/JuPO8HDA4QDjcLg2+yjta7sdcDohP3UK0uvXkZ2SInxnlMLba0py/TrCxo+H/OxZ5Eyb\nVnqCGKTu7ifF5s0I+eYbZPmwZrZm8WLIDx1Czr1lGE0msEePFiTY8qNH4aheHZa4OFhjY2Ft1gzO\n8uV9FhcffK4pxmhE1Esvwdy+PfKHD/foPJLbt6HYtQuKtDRIMzKQ/847sLRt61FbAACTCRWaNsXt\nDRu8/vCrWbgQsgsXkDttWrHHFNdPEW+8AfMzz3iUrJdFD/rfPdWPP0KZmopsHmWpK1eu7Hb7dB+F\nECI+hoHtySdhK66ustMJiU7nSsKvXy9IyNkDByC5cQOS3FxAKgUnlbpW5LvxtaFPH1FfqlCclSoh\ne+FCKDZvRvjQobA+9RRyx40DFxnp79B8xpfTSe4wdu2KCjNmQHrlCmQXL4Ldtw/s/v2QnzoFe0wM\nrHFxyB8wANamTcGFh/s0Fl/g1GrovvsO0Z07w1GtGkwvvVT6k8xmsAcPQrFzJ5RpaZD+/TcszZvD\n0ro1uDZtEDZuHOzVqyNv3DiPdjRU/f47bA0aCHKnyRobC/WKFR49V378OPLef9/rGEjZYGnbFmET\nJ7oGaHwwzYgSbkJI4JFI4IyOdt2mr1/f39EEFEv79shs0QLa6dNRvl075CUnu0boAmi6gCAcDii3\nbMHtIUN8ehouPBymjh1Rvl07WBs1gjU2FvoRI2Br3BhcCXtHBBNn+fLQffcdorp1g6NyZVibNy98\nAMdB9uefUKSlQbFzJ9hDh2B/7DFY2rRB7iefwNqwISCXFxxu6tQJ6mXLENW9O8xPPw39qFFwurH2\nSr1iBQz9+wvy2myPP+76YK7TwenGh09JVhYkeXlw1KghSBwk+DkrVICjcmWwR47A2qyZ4O1Twk0I\nIUGGCwlB3sSJML34IsJHj4Zq9WrkTp0Kx8MPe9EoB+mlS1CkpUG5Ywekf/+N7AULYK9VS7C43cEe\nOQJnuXJwiFDWLvfTT5E7ZQqgUPj8XP5ir10b2XPnIuKtt5C1ejWc4eGuaSI7d0Kxcyc4hQKW1q1h\n7NUL2XPnljyaL5fD2LcvTC+9hJCvvkL5hAQY+vVD/ltvlfohRXbhAmQXL7o2MhKCTAZr48ZgDxxw\na4dF+fHjsNWv/8BU/yH8mNu1g2L7dp8k3HSlEUJIkLI1aoTM33+HpXVrRHfqhJA5c9zaLY3Jy4Ny\nwwaEvf8+yjdvjuhu3cCePAlj164wvP46onr0gPTqVR++guIpN270+XSSAnJ5mU6277A+9RTyxoxB\ndMeOKN+6NZS//QZro0a4/csvuPXHH8idNg3mjh15T53hQkOhHzsWmRs3QnrpEso/9ZRreofDUexz\n1CtWwNitW6ERc295sgGO/Phx18g9IXexxMdDsX27T9qmEW5CCAlmcjkMgwbB/NxzCBszBuXWrkXO\ntGmwFVX60OGA/ORJKHbsgCItDfL0dFgbN4alTRsY+vaFvXbtwlNTOA5R3bvj9i+/uDVlwGscB+Wm\nTcieP1+8cz4gTK+8AmvLlnBUqCBY0ut46CHkzJkD+bFjCJ04EZqUFOSNGwdLfHzhAy0WqFavxu11\n6wQ57x3W2FiETprk1nPYY8dgdLOOMin7rI0bQ3blCiS3bgm+KJoSbkIIKQMc1apBt3QpVOvWIXLA\nAJg7dkTeBx+AMRgKpomwu3bBWa4cLG3aIH/IEFjj4kqsHW3s0weS/HxE9eiBrJ9/dmuOrDdkFy4A\nFgts9eqJcr4HjaNqVZ+0a2vYEFk//wzlpk0IS06GvVo118LKxx8H4LprYY+JEXzetLVhQ8jOnQNj\nMPCbd89xriklU6YIGgcpA+RyV3nAtDSYunUTtGmaUkIIIWUFw8DUpQtupaYCVisqNG6M8gkJUKam\nwtK6NTI3bULm9u3ImzABlvh4Xhu15A8eDHP79ojs2RNMXp4IL8KVmFnaty97C0EfBAwD8zPP4Nb2\n7TA//TSievRA2MiRkNy4Ac3y5TD06iX8OZVK2OrVg/zwYV6HS65dAzgODg9Ku5Gyz1fTSijhJoSQ\nMoaLiEDujBm4tXMnbpw4gewFC2Ds0QPOKlU8ak//wQewNmmCyN69wYiwdbly0yaYxJq/TXzj34WV\nt3btgjMqCuUTEiA7e9athY3usDZrxnv3Wvb4cdgaNKAPdKRI5rZtoUxLK3Etgico4SaEkDLKWbGi\nqwa5txgGeRMnwvHww4jo3x+wWLxvs7hTXb8O2aVL95euI0GJCw2FfswYZG7ahOxFi3y2OPXOjpN8\n0IJJUhJn5cpwVKwI+bFjgrZLCTchhJDSSSTImTkTXEgIIt5+27U5hA/INmyAOT5e0CoWxP8cVav6\npNTaHdYmTSA/fhywWks9lj12zDXCTUgxLPHxUAo8rYQSbkIIIfzIZMieMweMxYLw4cMBp1P4U/z2\nG8zt2wveLinbuNBQOGrUgPzEiZIPdDohP3ECNhrhJiUw+2AeNyXchBBC+FMokL1wIaTXriFszBiA\n4wRrmsnPh3TfvvvLyRHCgyUuDooDB0o8RnrpEpyhoXBGRYkUFQlG1qZNIfvrL0iysgRrkxJuQggh\nbuFUKuiWLIH8xAmEfvKJ10k3k58P9fLliEpKgr1dO3BarUCRkgeJtVkzsPv2lXhMwYJJQkrCsrC0\naAFFWppgTVLCTQghxG2cVousZcugSE1FyJdfetAAB/nBgwgbORIVmjWDYvt26EeOhHnJEsFjJQ8G\na2ws2EOHSpzqJKf524QnocsD0sY3hBBCPMJFRiLrhx8Q3bUruJAQGPr3L/U5kqwsqFavhvqHH8DY\n7TD27IlbO3YU7OrGClFVhTyQnOXKwRkZCdnZswWb7dxLfuIE9KNGiRwZCUaW+Hhop093fYCTeD8+\nTQk3IYQQjzkrVEDWjz8iqmtXODUamLp3L+IgJxS7dkG9YgUUO3fC3L49cj/9FNbYWKqFTARliYsD\ne+BA0Qm33Q55ejpsTzwhfmAk6DiqVoUzKkqwRbaUcBNCCPGKo2pV10h3t27g1GqYO3cGAEgzMqD6\n8UeoV66EMzISxh49kDN9OriwMD9HTMoqa7NmUKamwtinz32Pyc6dg6NSJXChoeIHRoLSnWkllHAT\nQggJCI5HH0XW0qWI6tkTsitXwO7fD/boUZi6dIFu8WLY69Xzd4jkAWCNjUXop5+6FvLec/eEFkwS\nd5nj4xE6Ywbyhw/3ui1KuAkhhAjCXrcudIsXI+Trr2F68UXoFi4EVCp/h0UeII5q1QCGgfTKFTge\nfrjQY/Jjx6j+NnGLNTYWsnPnwOh04CIjvWpLtIR7/vz5OHLkCMLCwjBz5swij1m8eDGOHTsGhUKB\nd955Bw/f88tCCCEksNkaN0b2woX+DoM8qBjGVR5w/36Y7k24jx+HsVs3/8RFgpNCAWtcHBS7dsH8\nwgteNSVaWcD4+HiMHTu22MePHj2Kmzdv4ssvv8Qbb7yBhfSGTQghhBA3WWJjwd67AY7ZDNn587DV\nreufoEjQMsfHQ5ma6nU7oiXcMTEx0Gg0xT5+8OBBtGnTBgBQq1YtGI1G5OTkiBUeIYQQQsoAa2ws\nFPdsgCM/fRqORx+lKU7EbZb4eNcGOCXUd+cjYDa+0el0iLprq9XIyEjodDo/RkQIIYSQYGOvXRuS\nnBxIbt0q+J78+HFYaf428YCjenVwWi3k6eletRPQiyaZYuqzpqenI/2uF56UlAQtbQXMC8uy1Fc8\nUD/xQ/3EH/UVP9RP/FFfFc8ZF4ewEydgf/FFsCwLSXo6HM2bU3+VgK6n4jk7dEDonj2wtmhR8L1V\nq1YVfF23bl3ULWW6UsAk3JGRkcjKyir4d1ZWFiIiIoo8tqgXptfrfRpfWaHVaqmveKB+4of6iT/q\nK36on/ijviqes0kTSNPSoE9MhFarhfLQIeT16QM79Vex6HoqnrVVK4TMng39W28BcPVVUlKSW22I\nOqWE4zhwHFfkY02aNEFaWhoA4Ny5c9BoNAgPDxczPEIIIYSUAdZmzaDYv9/1D70e0n/+gb12bf8G\nRYKWJTYW8tOnweTmetyGaCPcs2fPxunTp6HX6zFo0CAkJSXBbreDYRgkJibiySefxNGjR/Huu+9C\nqVRi0KBBYoVGCCGEkDLEVr8+pJcvg8nNhfTyZdjr1AHkcn+HRYKVSuX6ELdzJ8zPP+9RE6Il3EOH\nDi31mP79+4sQCSGEEELKNJaFrUEDsIcOQXL1Ki2YJF6zxMdDsWOHxwl3wFQpIYQQQggRivXfetzS\nI0doS3fiNXPbtlDu2AEUMzW6NJRwE0IIIaTMscTGgt2/35Vw0wg38ZLjkUfAKZWQnT7t0fMp4SaE\nEEJImWNr3BjykyfB6HSwP/KIv8MhZYA5Ph7K7ds9ei4l3IQQQggpczi1GvY6deBo2BCQULpDvHdn\nHrcn6AokhBBCSJlkadkSjmbN/B0GKSOsLVpAfuKER88NmI1vCCGEEEKEpB85EtrQUMBs9ncopAzg\nVCpYmzaF0oPn0gg3IYQQQsomlqX620RQupQUj55HCTchhBBCCCF8KD0Z36aEmxBCCCGEEJ+ihJsQ\nQgghhBAfooSbEEIIIYQQH6KEmxBCCCGEEB+ihJsQQgghhBAfooSbEEIIIYQQH6KEmxBCCCGEEB+i\nhJsQQgghhBAfooSbEEIIIYQQH6KEmxBCCCGEEB+ihJsQQgghhBAezp+XefQ8z57loWPHjmHJkiXg\nOA7x8fHo0qVLocdv376NuXPnwmg0wul0omfPnmjUqJGYIRJCCCGEEHKftDQFBg8OR1aW+88VbYTb\n6XQiJSUFY8eOxaxZs7Bnzx5kZGQUOuaXX35BixYtMG3aNAwdOhSLFi0SKzxCCCGEEEKK9OOPKgwZ\nEo6UlGyPni/aCPeFCxdQqVIllCtXDgDQsmVLHDx4EFWqVCk4hmEYmEwmAIDRaERkZKRY4RFCCCGE\nEFIIxwGffx6Cn35S4+efs1Czpt2jdkRLuHU6HaKiogr+HRkZiQsXLhQ6plu3bpg8eTI2bNgAi8WC\n5ORkscIjhBBCCCGkgM0GfPBBGE6flmPdutsoX97pcVuizuG+F8Mwhf69e/dutG3bFp06dcK5c+fw\n1Vdf4bPPPrvveenp6UhPTy/4d1JSErRarc/jLQtYlqW+4oH6iR/qJ/6or/ihfuKP+oof6id+/NFP\nixfLsXWrFJ9/bkGFCpyo5y6NXg/076+CVAps3GhCSIim0OOrVq0q+Lpu3bqoW7duie2JlnBHRkbi\n9u3bBf/W6XSIiIgodMz27dsxduxYAMBjjz0Gm82GvLw8hIaGFjquqBem1+t9FHnZotVqqa94oH7i\nh/qJP+orfqif+KO+4of6iR+x+2n5cjW++EKF5583o1UrFT77LAdt21pEO39JbtyQoHfvKDRsaMGU\nKbngOFcCfodWq0VSUpJbbYq2aLJmzZq4ceMGMjMzYbfbsWfPHjRp0qTQMdHR0Thx4gQA4J9//oHN\nZrsv2SaEEEIIIcFr1SoVPvtMix9/zML48Xn46qtsjBwZjsmTQ2G1+je2P/+U4YUXotGpkwnTpuVC\nJtDQtGgj3BKJBP3798fkyZPBcRzatWuHqlWrYtWqVXj00UfRuHFjvPbaa1iwYAF+++03SCQSvPPO\nO2KFRwghhBBCfGzNGhU+/TQUq1Zl4ZFHHACAli2t2LIlE8OHh6Nr12jMnZuN6tUdose2dy+LQYMi\nMH58Hl56ySRo2wzHcYE1acZD165d83cIQYFurfFD/cQP9RN/1Fcl0+sZ7NypAMuqkJiYjXuW+JAi\nBNM1dfasDOfOyfD882ZRf7b79rG4eVOD5s1zvVrwFgyMRgbr1yvx3HNmhIS4n9qJcT39739KjBsX\nhpUrsxATc3+1D44DUlI0mD07BJMn5+KFF8w+jedua9eqMH58KObNy0ariK6+ywAAIABJREFUViUP\ns1euXNnt9inhfsAE0xu0P1E/8UP9xB/1VWEcB/z1lxTbtimxbZsSx4/L0aSJFVlZcjz0kBUzZuQg\nPLxM/HnymWC4pnJyGMyapcXatSpUqOBElSoOfP55DiIjfZv82mzAjBla/PyzGnFxTmzfLkX16nYk\nJFiQkGBGgwY2SMrQXtunT8swaFAE1GoOeXkSzJ+fjSeesLnVhq+vp02blBg9OgzLl2ehXr2SS+ud\nPCnHoEERiIuzYOLEPKjVvnsv4Dhg3rwQLFmixvff61CnTull/zxJuMvQ5UYIIUQIDgewcyeL06dl\nMJmEG460WFw7tY0fH4pWrcrjlVei8ddfMgwYkI+jR29i+XIdUlONqFTJgQ4dyuHgQblg5yYuTidw\n8KDc5/NkHQ5g2TI12rQpD6uVQVpaJn7/PRO1atnRvn057N3L+uzcV69K0bVrNM6ckWPz5kx8/70Z\nx4/fwPjxeTCbGYwYEY5GjSpg2LBwrF+vRF5e8N5O4ThgyRI1XnklCkOG5GPDhtv44IM8vPpqJBYs\n0MAZIIP627YpMHp0GJYu1ZWabANA/fo2bNyYCauVQceO0ThzxjczoB0OYMyYMKxZo8K6dbd5Jdue\nohHuB0wwjIgEAuonfqif+AuWvrp+XYJ3341AdrYEDgfw998yREQ48cgjdtSoYS/0/2rVHGBLyZuu\nX5cgNVWJbdsU2LtXgccesyMhwYzERDMef9x+3/SCO/20ebMCo0eHo18/A955Jx9Sqe9ec7By95rK\nzJRgyJBwnDsnB8cBvXsb0Lu3UfDR5oMHWSQnh0Kp5DB5cu59CdaOHQqMGBGOnj2NGDZML9iiNABY\nv16JsWPDMHhwPgYMMEAiKbqfrl6VIjVVgW3blDhwgEX9+jYkJpqRkGBBzZr3X5eBKDubwahR4cjI\nkGLevOyC+dCA6/W9/XYEIiKc+OKLHERFlf4z9tV71M6dru3Qv/1Wh8aN3Rt1B4CfflJh4sRQjBql\nR+/eRsF+NiYTg7ffDofJJME33+gQGso/HaYpJaRUwfJH39+on/ihfuIvGPpqyxYF3nsvHH37GjB4\nsCvJdTiAjAwpLl2S4eLFO/+X4dIlGa5dk6JyZcc9ibgDSiWHHTtcyUxGhhRt2rgSmfh4S6nJ3d39\ndO2aK/mXyYAvv8xGhQoBMlwnEL2eQUgI53EC4c41lZamwPDh4eje3YgRI/Q4f16GlBQNfv9dheee\nM2HAAANq1/ZudO/GDQk++SQUe/cqMG5cHrp0MRX72m7dkmDIkAhYrcBXX2WjShXvfrYmE4OPPgrF\nnj0KzJuXjQYN/kvsSusno5HB7t1swfQmuZxDQoLrmm3Z0lLqh0p/OHCAxeDB4ejY0YwPP8yDQnH/\nMTYbMHOmFqtXq/Hll9lo2bLk2xq+eI/as4fFW29FICUlG82aeX5b5a+/XB8gHnrIgZkzvZtuxnHA\nP/9IMWhQBB591I4ZM3Lc/hlTwk1KFQx/9AMB9RM/1E/8BXJfWSzAJ5+EYuNGJebOzUHTpvz+MFqt\nrpG0u5PwixdlyM9n0KqVBQkJFjRubHVrBPPefnI4gNmzQ7B0qQazZuWgXbvAqNPrjcOH5Vi0KASb\nNilRv74Nkyfnon5990f++FxTd89lnj37/sVgWVkSfP+9Gt9/r0FMjA0DBhgQH29xa36zxQIsWhSC\n+fM16NXLiCFD8qHRlJ5aOJ2uubMLF2owfXouOnTwbIHc2bOu+ct169owdWoutNrC53bnd4/jgDNn\nZNi2TYktW1wfGHv3NuC114S/E+AJhwP48ssQfPedBjNn5iAxsfTfh507FRg27L8PW8X9Pgr9HnXg\nAIsBAyLw9dfZaNHC+zlMFgswZYrrfWrOnNLfp3JymHvem/57r5LLOfTrZ8Dw4fkefeClhJuUKpD/\n6AcS6id+qJ/4C9S+EnLkSAjF9dO+fSzefTcczz9vxgcf5AXkqGNJ7Hbgt9+UWLQoBLdvS9C/vwHd\nuhnx228qTJ+uRfv2Zrz/vp7Xrf87Srum3JlWYLEAv/6qwsKFITCb8W98plIXq23dqsBHH4WhVi07\nPvooFzVquF/K7dAhOQYPjkBiohnjxuVBqeT3PI5zzROfPl2LcePykJRU9Ii6N797Z87IsGiRBhs2\nqNCpkwn9+3t/J8BTd6Z7Aa67ApUq8b9WMjMlGDo0HEYjg7lzc1Clyv0/JyHfow4flqNv30jMmZOD\n1q2F/ZB89524fv0MuHLl/g/9ly5JYbUyhe683X0nztv3OUq4SakC9Y9+oKF+4of6iT93+io7m8GO\nHa55z3/8oUBsrAUDBhjw5JPuj4KWxFdzI71RUj/pdAxGjIjArVsSzJuXjYcfFr9Or7tychisWKHB\nt9+qUa2aAwMHGvD00+ZCc9Jzc12VPNasUWH48Hz07m3gdVegpL769VdX+bXBg/MxcKCB98+W41wf\nbhYt0uDAARY9ehjx+uuG+6Z8/PWXFBMmhOHyZRk+/jjX6zsPubkMRo8Ox8WLMsyfn42aNUtOanNz\nXfOXr1yRYd48HWrWLP5aEOJ96vZtCZYudd0JqFPHhoEDDWjTxr07Ad7YulWBUaPC0aePAe++69ma\nBqcT+PrrECxYoMGnn+bi2WcL31EQ6v38xAk5Xn01Ep9/noOEBN/ckbp+3TUl6cgRFg8/bL9njYkD\njzxiR3S002fvaZRwk1JRgsQP9RM/1E/8ldRXd9/G3rZNgTNn5Gje3IqEBDOaN7ciNVWBxYs1KF/e\niQED8tGxo9mrhWb5+QzGjAnDiRNyzJuXjccf98+IXVFKu6Y4Dvj2Ww0+/zwEkya55gkHor/+kiIl\nJQTr1qmQkGDGwIGGUqeN/PmnDOPHh+H2bQk+/ji31FrARfXV3XOZPSkNd7fLl6VYvFiDn39Wo00b\nMwYMMKBWLTtmz9Zi5UoVBg/OR79+BsHuNnCca7vvadNKHrG+MyL+9NNmjB1b+oi4kO9TFguwbp3r\nToDVCgwYYMDLL5ugUvkmlbozjWLDBtc0Cm/mQd9x5Igc77wTgfh4C5KTc6FSub4vRD+lp8vQq1cU\npk3zfIqQO5xO+KW8IyXcpFSUIPFD/cQP9RN/9/bV3Qu1UlMVkMtRsFArLs5yXxJhtwObNyuxcKEG\nGRlS9O1rQM+eRoSFufcWLmZ9W0/wvaZOnZJh0KBING1qxeTJuQHxOjgO2L2bxcKFITh2TI5XX3WN\nDruz2JPjgA0blJg4MRRPPGHD+PF5qFq16NHbe/vqzBkZ3n47AvXqueYye7L5SVHy8hisXKnG4sUa\n6HQSPPeca6GerzaSOXvW9Trq1LHh00//m5PtdAJz54Zg0SL35nz74n2K44A//nDdCTh4kEXPnkb0\n6WNwa5pHaS5edE0JqlLFNd0rIkK4azwvj8H774fj/HnXHYVatexe99PZszL06BGFyZNz8dxz4m1Y\n4w+UcJNSUYLED/UTP9RP/Gm1WqSnG7Ftm6t6x8GDLJ54wvZviTwLHn2Ufymy48flWLRIg9RUJbp0\nMaF///xCJcGKwnHAokUafPml+Du4ucOda8pgYDB2bBiOHnWN1Net65+RerMZWLNGjUWLNOA416jn\niy8aC0YOPWEyuW7/p6Ro0K+fAYMG5d/X3p2+4jhg6VI1ZszQIjk5D926FV8dxBt2O3DzpsTriiJ8\nmEwMJkwIxe7dCsydm41KlRwYMiQCNhswZ042KlcWbq67ty5dkuLbb113AuLjXXcCGjb0bvrXzz+r\nMGFCKEaO1OP1130z3YvjgJUr1ZgyRYsxY/QYOFCK/HzP+unCBRleeSUKycmBe9dJSJRwk1JRgsQP\n9RM/1E+lMxoZLFigwfr1GmRlAe3auXa6a93a4lbd16LcuCHBd99psHy5Go0a2TBwYD5atrTe98dZ\np5Ng+PBwZGVJMHduNqpXD9y5z55cU3eSk3btLGBZcf+k2e0MUlMVeOIJ17zep56yCJocZWRIMWlS\nKI4elWP8+Dx07Pjf1uharRZ//52P997jN5c5GN2pq80wQO/eRgwd6n7dbrHep3Jz/7sTUKGCE7Vr\ne5Z037ghxdWrUtE+RJ4756ryUrkyg4oVPZtznZqqxPvvu6YBPQgo4SalogSJH+onfqifisdxroVr\nkyaFITbWgqFDOdSsmeuT+YYmE4NfflFh0SINpFJg4MB8vPCCCUolsHcviyFDItCliwmjRwd+dQ9P\nr6krV6TYvbuIYsQiiI21lrrIz1t79rAYPz4MUVFOTJqUi9q17Th9Ogx9+yrQoYNrLnNRtZjLgowM\nCXJyJB4nn2K/T9ntQGqqApmZnu3WJJNxeP55s6jTpEwmYOvWCOTleZZwP/ywvdQ632UJJdykVJQg\n8UP9xE8w9RPHAYcOsbBYUOQosJDS02VITg5Dfr4EkyblIjbWKkpfcZyr5u7ChRqcOiVHy5YW7N2r\nwOef56Bt2+CoXx1M15TY7HbX1JHPP9eiSRMrjh5VYNq0bLRvHxw/W3+ha4of6if+KOEmpaJfKH6o\nn/gJhn6yWoH1612jv3q9BAoFB6fTNc+2a1fv5tneS6djMGNGKH7/XYlRo/To2dNYUL5L7L46f16G\nDRuU6N7d6LPFbb4QDNeUv+l0Evz4owq9ekkRGprn73ACHl1T/FA/8edJwu1FYSlCCAlcOt1/dXNr\n1rRjxAg9EhJc82vvVJKYNk2LXr1c1QW82TbcbndtwPHZZ1p07mzCjh23BK0o4IlateyoVSvfrzEQ\n34iMdGLQIMO/CZK/oyGE8EEJNyGkTPnzTxlSUjT43/9UePZZE5Yty0KdOoXnfj71lBVPPaUrqJUc\nH18eCQlmvPFG6bWS7/XHHyySk8MQHu7EypVZAVXTmhBCSGCghJsQ4hc2GyCXC9OW0wmkpbnmLp85\nI0fv3gbs3HkL0dElj1o/+qgDU6bkYvToPKxYoUHfvpGoVs2OgQMNaN/eXOJubhkZEkyeHIbDh+VI\nTs5Dp07mgNipkRBCSOChhJsQIrrPPw/BZ59pUa6cs9CWvI884kCNGnZUr27nVXHBZGKwerVrfjbL\nuqpzfPutzu1qDeHhHN5+Ox8DB+bj99+VmDcvBBMnhqJfPwO6dzcWbLwBuGouf/11CBYuDEHfvgZ8\n9lmOz3aZI4QQUjaImnAfO3YMS5YsAcdxiI+PR5cuXe47Zu/evVi9ejUYhkH16tUxZMgQMUMkhPjY\n3LkhWLNGhYMHb8LhYHDxohQXL8pw6ZIMf/yhwKVLMmRkSFG+vOPfZNxRKCmvWtWBzEwJlizRYMUK\nNZo2tWLq1Fw0b+595RG5HPh/e3ceF2W5/3/8NcO+74uAKIsrmiQypaYmWJ7MCqzspD/TNCvTr6Yt\n5qksy7O0nNKjWKZ2tE6ntE5gmpa5p1mgJibqMURTkX3fYZj79wfHSRT1BmFmwM/z8fAhI/fMfObt\nNfDh5rqv6777qrnvvmoOHLBh5UpnFi1y4YEHKpk8uYJjx2xYsMCVPn3q2Lw5j+DgjrXmsRBCiLZh\nsobbYDCwatUq5s+fj4eHB/PmzSM6OprAwEDjMdnZ2axfv56FCxfi6OhIaalcfS1ER/LBBw1N8hdf\n5OPv3zDdIzCwniFDGq/fqtfD2bO/N+IZGdZs3drQjOfmWuHgoHD//ZV89VU+ISFt0/RGRdURFVVE\nZmZDcz9qlA++vvW88UYxQ4feOOvNCiGEuH4ma7jT09Pp1KkTPj4+AAwePJiUlJRGDffWrVsZOXIk\njo6OALi6upqqPCFEG1u9umEHtv/8p4BOna4+t9raGkJC6v/XTDdeY7i6GhRFY7JpHIGBBl58sYzn\nnivDyoqrzusWQgghmmKyhruwsBAvLy/jbU9PT9LT0xsdk5WVBcDLL7+Moig88MADREZGmqpEIUQb\n+de/HFm2zJkvviggMPD6zkjb2wOYfs60pe/QKIQQwnK1wSbD6mkumXBZX19PdnY2CxYsYObMmSxf\nvpzKykozVSeEaA1r1zrw7rsurF1bIHOehRBC3JBMdobb09OT/Px84+3CwkI8PDwaHePl5UX37t3R\narX4+voSEBBAdnY2oaGhjY5LS0sjLS3NeHvs2LG4uLi07QvoIGxtbSUrFSQnda6V09q11rz5ph0b\nN1bRvbujCSuzPDKm1JGc1JOs1JGc1JGcmmfdunXGjyMiIoiIiLjq8SZruMPDw8nOziYvLw8PDw/2\n7t3LrFmzGh0THR3N3r17GTZsGKWlpWRlZeHr63vZYzX1wmQ7UnVk61Z1JCd1rpbThg32zJ/vyKef\n5tOpk/6G3xFPxpQ6kpN6kpU6kpM6kpN6Li4ujB07tln3MVnDrdVqmTJlCgsXLkRRFGJiYggKCmLd\nunWEhYURFRVFZGQkhw8fZs6cOVhZWTFhwgScnZ1NVaIQopV88409L7/sxiefFNCzp+y8KIQQ4sam\nURSlQ+zYcP78eXOX0C7IT7DqSE7qNJXT1q12PPOMOx9/XMhNNzVvm/SOTMaUOpKTepKVOpKTOpKT\negEBAc2+j+w0KYRoNbt22TFnjjurV0uzLYQQQlwgDbcQolXs2WPLjBnurFpVRP/+0mwLIYQQF5h1\nWUAhRMfw00+2TJvmwfLlReh0sgujEEIIcTFpuIUQ12X/fhumTvUgIaGIQYOk2RZCCCEuJVNKhBAt\ndvCglsmTPVm0qJihQ6XZFkIIcW2F1YWkZKeQnJNMtb6ae0LvQeevQ6vpuOeBpeEW4gZVWanh888d\n+PJLR6qqNNe+QxPOn7fmnXcKiYmpaeXqhBBCdASKovBb2W8kZycbm+ycihyi/KKI9ovGzdaNl354\nieKaYuLC4ogLjyPCM+Ky3cjbO2m4hbjBnD+vZfVqJz791BGdrpbZs8vw9m7ZluuBgY54eEizLYQQ\n7dW5snMs/2U5m05vwtPOk0DnwEZ/ApwDCHQKxM/RDyut1TUfT2/Qc7TgKMk5ycYmW6vRovPXofPX\nMTFiIr08ejV6rJk3z+RY4TGSTiYxZcsUHKwdjM13V9eubfjqTUfW4b7ByDqb6nTEnH7+2YYVK5zY\ntcue+++vZMqUCrp0aVmjfUFHzKmtSFbqSE7qSVbqmDonRVE4W3YWX0df7K3tTfa8zXW88DjLUpex\n7ew2xvUYx2NRj5FXnEdmeWbDn4pM48fny89TWF2Ir6PvZY14oHMg1lprDuQcIDknmZ9zfybQOZBo\nv2hjkx3kHKT6jLWiKOzP3U9SehIbMjYQ7BpMfFg894Teg6/j5buPm0NL1uGWhvsGI1+g1ekoOen1\nsHmzPStWOJObq2Xy5Ar++MdKXF1b523fUXIyBclKHclJPclKnbbOqc5Qx5H8Iw1nc3NSSM5Oxkpj\nRa2hlj90+QNx4XEM6jRI1dlhU0jJSSHhUAKpealM6TOFCb0m4Gbnds2caupryK7I/r0hL8/kfMV5\nMsszqamvob9vf6L9ohngNwAPe49WqbXOUMeezD0kpify3ZnviPSJJC48jru63oWrrWurPEdLSMMt\nrkm+QKvT0pwOHrTB3l6hd2/zbmdeUqLh008d+fBDJ4KC6nnssQpGjqzGqpW/3st4Uk+yUkdyUk+y\nuraU7BTOVJ3By9rLeFbWycbpuh6zrLaMg7kHSc5umDKRmp9KsEtww9lcPx3R/tEEOgdyvvw8X2V8\nRdLJJHIrc7kn9B7iw+Pp593P5POTFUVh+9ntJKQmkF2RzZM3PcmD3R/EwdrBeIylj6cqfRXf/fYd\nSSeT+OH8DwwJGsKQgCEEuQQZz7Q72zqbpBZpuMU1WfobylK0JKfCQg0xMb4YDDB6dDXPPluKp6dp\n314ZGVZ8+KETiYmOxMRUM3VqRZvu+CjjST3JSh3JST3J6soyyzNZ+NNC9ufsJ6ZrDGeKzxjPytpb\n2zc0304BquYqZ1VkkZKdYjx7nVGSwU3eNxHt3zBlIso3Cjc7t6vWk16cTtLJJBLTEwGID48nLiyO\ncPfwNs1Bb9CzIWMDCakJaNAwI3IGd4fcjbX28kv42tN4Kq4pZtOpTfyc+3Oj6S+2WtuG/8cL/69O\njf9//Rz9mnztzSUNt7im9vSGMqeW5PTss244OirMnl3G22+7smGDPc88U8b/+3+VrX5m+WKKAnv3\n2rJypTMHD9owfnwlEydW4O9vaLsn/R8ZT+pJVupITuq1l6yq9FWsPbGWYwXHmBQxiV6evdrsuar1\n1bx/+H1WHFnBpN6TmN5vOn6efsacFEWhqKao0bSIi+csX5ir7OfoR4BTAFkVWZTVlTU6e93Xuy92\nVnYtqk9RFFLzU0lKT+KrjK/wdfQlLiyO+8Luo5NTp1bL4ULmyw8vJ9A5kOn9pnN70O1XPbPeXsbT\nlVz4vz1ffv6K89ALqgsa5qE7Xd/Z8G2TtzX7PtJw32Da+xvKVJqb008/2TJ9ugc7duTi4tLwljp6\n1Jr5890oKdHy+usl3Hpr665TXV0N69c7sGKFM3o9TJ1awZgxVTg4mO4tLeNJPclKHclJPUvPqqSm\nhDVH1/Bh2ofc7Hszfb368vGxj+nr3ZcZkTPQ+eta7bkUReHb375lwY8LiPCKYP4t8wl2DQaan9PF\nc5V9HHwIcw9rk/Wh6w317MvaR9LJJDaf3kwvz17Eh8czquuoFs+BLqkp4aNjH/HhkYbMn+r3FAP8\nBqi6r6WPp9ZQW1/b8H9bkUlFXUWLH+eRWx9p9n2k4b7B3AhvqNbQnJxqa2HkSB+efbaMu++ubvQ5\nRYENG+x5/XVXoqNrefHFUgIDr+/Mc16elo8+cuLjjx3p06eOqVMrGDq0BnMsWSrjST3JSh3JST1L\nzSq7IpuVR1by6X8/ZUTwCJ666Sl6ePYAGs68fn7ic94//D6+jr5M7zedEcEjrmtO869FvzJ/33yy\nKrJ4bdBrDA0c2ujzlprTxWrqa9hxdgeJ6YlsP7sdg9Ly7xP3hN7DU/2eortH92bdrz3kZClkSom4\nJnlDqdOcnJYscSY52ZaPPiq8YtNbWakhIcGZ1audePzxcp54ohz7Zq4WlZZmzcqVznz7rT333FPF\nY49V0K2beS/OlPGk3o2SVbW+mtzKXOPZxea6UXJqDZaWVUZJBu8ffp+vT33N/eH383jfxwlyCWry\nWL1Bz9envmbpoaUYFAPTI6dzb+i9zZpfW1pbyjsH3uE/6f9h1s2zmNh7IjZam8uOs7ScrqXOUIfe\n0LKv7VYaK2ytbFt03/aWkzlJwy2uSd5Q6qjN6bffrLj7bm82b86nc+drr2l95owVr73mytGjNrzy\nSil33ll91TPTBgNs3WrHihXOZGRYM2lSBePHV5j8YswrkfGkXkfOqt5Qzw9ZP5CUnsQ3v30DQKRP\nJNP7TWdgp4HNOnvZkXNqbZaS1eG8wySkJvBD1g9M7D2RyRGT8bT3VHVfRVHYeW4nCakJnCs7x5M3\nPclDPR5qtHrGpQyKgXUn1vFGyhuMCB7B3Oi5eDt4X/F4S8nJ0klO6knDLa5J3lDqqMlJUWDCBE8G\nDqxl+vTyZj3+7t22zJ/vRkBAPQsWlF52prqiQsPatY6sWuWEm5uBqVMrGD26CpvLT96YlYwn9Tpa\nVhcu/kpMT2RDxgbjxV/3ht6Ll4MXiemJJKQm4Gbnxox+M7izy52q5sF2tJzakjmzUhSFvef3kpCa\nwK/Fv/J438cZ33P8dS25tz9nP8tSl3Eg9wCTIyYzsfdE3O3cGx1zIOcA8/fNR6vRsnDQQvr59Lvm\n48qYUkdyUk8abnFN8oZSR01OX31lz+LFLnzzTV6LGuG6OlizxonFi5154IEqZs8uo7RUy4cfOrF2\nrSODB9cwdWoFAwbUmmV+thoyntTrKFk1Z3mzekM93/z2DQmHEqjQV/BUv6eID4u/6q+8O0pOpmCO\nrAyKgW9Of0NCagJltWVM7zed+PCr/58214miEyxLXcZ3Z77joe4PMbXvVKw0Vvwl+S98n/k983Tz\nGBM+RvWFjDKm1JGc1JOGW1yTvKHUuVZOpaUahg/35f33C4mOvr51rvPztfztby5s3tzwK9SHHqrk\n0UcrVE1RMTcZT+q156yyKrL46mTDBh7ZFdncG3ZvszbwUBSFPef3kJCawMnikzze93HG9RzX5NnQ\n5uSkKAqnSk+Rkt2wPnJmRWazX1tr8LDzaLTN9YU1fz3sPK57g5NqfTVZFVnGHf0uLG+WX53P/b3u\nZ2TgyCbnLbe22vpavkz/kmWpy3C1dWV6v+mM7DqyTVbvuCCzPJPlvyznixNfoNFoGNdjHLNuntXs\n5dza83vPlCQn9Sy+4T506BCrV69GURSGDx9OXFxck8f9+OOPvPvuu/z1r38lNDRU1WNLw62OvKHU\nuVZOL73kSm2thjffLGm15zx1ygofHwPOzu3nZ2AZT+q1t6wubCyRmJ7I0cKjrbZF9YX5vvuy9jGx\n90QejXi00Xzfq+VUZ6gjrSCtYQvt7BSSc5Kx0doY10gOcQtBg4l38EOhqLqoyTV/aw21jTbfaLQh\nh3Mg/o7+lNeVX3E96MzyTEpqSvB38r9soxYnGyfWpa/jZNFJnuz7JA/3fPiq855bqry2nE+Of8IH\nRz6gh3sPnur3FIMDBpt0p8TC6kKq9FUEOge26P7t7b1nLpKTei1puK9/ux2VDAYDq1atYv78+Xh4\neDBv3jyio6MJDGz8Bqqurmbz5s1069bNVKUJ0SyHDtnw9dcObN+e26qPGxJi+We0RcegKAqltaVN\nNngX/hTXFDO883AmR0xmeOfh2Fs3c1mdK7jJ5yaWj1jOyeKTLP9lOUPWDeH+bvfzRN8nLmuoymvL\nOZj3+xbah/IOEewSTLRfNKNCRvHqwFdb3ISZQlltWUOuFzXi32d+b8w6qyILF1uXRk14oHMg/X37\nGz/2cfC54g84j9z8CLtO7mJZ6jIWH1rMpN6TmNR7UovXcL5YQVUBH6Z9yEfHPmJwwGBW37mavt59\nr/txW0LtBZhCWDKTNdzp6el06tQJHx8fAAYPHkxKSsplDfdnn306mBQmAAAgAElEQVTGfffdx4YN\nG0xVmhCq6fUwd64bL75YiodH+zkTLdqv/xb+l6KaohbdV2/Qk1OZ8/tZ14umJSgoBDkHNTpzGtM5\n5vezr07+bTpVIcw9jDeHvMmc/nNYeWQld355J3cE38HI8JHsO7uPlOwU0ovT6evdl2j/aJ7o+wRR\nflGXXURnyVxsXejh2cO4BvWlFEW57jPF/X37s/KOlfxa9CvvHX6P29bdxtjuY5naZyoBzs0/C3eu\n7BzLf1nOl+lfcnfI3ay/dz2hbup+0yyEuDKTNdyFhYV4eXkZb3t6epKent7omNOnT1NYWEj//v2l\n4RYW6Z//dMLNTeH++6vMXYrowBRFYXfmbpYeWsqp0lMEu7RsTWutRoufox+BzoH08urFiOARxoba\n1dbVpNMCrsTfyZ+XbnmJGZEzWHN0DUknkujn1Y/XBr3GTd43tXgL7fagNfPv5tGNd4a9Q2Z5Jit+\nWcEdX97BH7r8gWn9pjV5QeuljhceZ1nqMrad3cb4nuPZ/sB2/Bz9Wq0+IW50Jmu4m3LxFxtFUViz\nZg3Tp083Y0VCXNn581oWL3YmKSnfYlcNEe1bvaGer099TUJqAnWGOqb3m869Yfea5KI4c3O3c2fW\nzbNkHul1CnQO5NWBrzLz5pmsObqGMRvGcIv/LUyPnE6kT+Rlx6fkpJBwKIHUvFSm9JnC64Nex83O\nzQyVC9GxmeyiyRMnTvD555/z4osvApCUlARgvHCysrKSmTNnYm9vj6IoFBcX4+LiwvPPP3/ZhZNp\naWmkpaUZb48dO1a+QKtka2tLbW2tucuweE3lNH68PRERBv70J8nvAhlP6l0tq2p9NZ8e/ZRFKYvw\ndfJljm4OI0PadgUISyVjSj01WVXUVfDRLx+x9MBSQt1Dma2bze3Bt/Pdqe94N+VdzpefZ9aAWYzr\nPQ4Hm9a/6NISyJhSR3JSz8XFhXXr1hlvR0REEBERcdX7mKzhNhgMzJo1q9FFk7NmzSIoqOltXxcs\nWMAjjzxCSEiIqseXVUrUkbNH6lya05Ytdrz2mhtbt+Y2e0v2jkzGk3pNZVVWW8bHxz5m5ZGV9PHq\nw4zIGej8dWaq0DLImFKvOVnVGepYf3I9CYcSyKvKo5NTJ2ZEzuDukLubtZ16eyRjSh3JST2LXqVE\nq9UyZcoUFi5ciKIoxMTEEBQUxLp16wgLCyMqKuqy+3SQJcJFO1dZqeHll934+9+LpdkWrSKvMo+V\naSv55NgnDO88nH/94V/09upt7rJEB2ajteGBbg8wJnwMGSUZhLmFWcQcfiFuFLLxzQ1GfoJV5+Kc\nFi50JSdHy5IlxWauyvLIeFLPxcWFXzJ/4f3D77MhYwNxYXE80fcJgl1bdkFkRyVjSj3JSh3JSR3J\nST2LPsMtRHt09Kg169Y5sG1bnrlLEe1UnaGOQ3mH+Nfuf7Ht9DYm9JrArgd34e3gbe7ShBBCmIg0\n3EJcgcEAc+e68/zzZfj4GMxdjmgnymrLOJBzgOScht0QU/NTCXYJZlzEOBbeuhAXWxdzlyiEEMLE\npOEW4go++cQRrRbGjas0dynCgmVVZDXaavxUySn6+fQj2i+ap/o9RZRfFK62rvLrWiGEuIFJwy1E\nE3JzNbz1lgtr1xagvfFWZhNXYFAM/Fr0K8k5ycYmu7yuHJ2/Dp2/jvjwePp698XWytbcpQohhLAg\n0nAL0YR58+x46KFKevXSm7sUYWJV+qqGbdDL/7cNekWmcTv0tII03GzdiPaP5tZOtzIzciZh7mE3\n5HrZQggh1JOGW3Q4igL79tly4EDLzjKWlGhJTrZi69byVq5MmJuiKORW5Rob6KYa64q6Cjo5dTJu\ngR7oHIjOT0dAWAA9PHrg7+Rv7pchhBCinZGGW3QYNTWwfr0DK1c6U10Nd95Zg5VV81e9tLJS+Oij\nKhwdO8SKmTe02vpaDucfNs6vTslOQavREuQcRKBzIAHOAQS5BHFLp1sammunQLwcvOSMtRBCiFYl\nDbdo9/LztXz8sSMffeREr151vPBCKbffXnNdc68bLnBrvRqFaZTUlHAg94BxfvXh/MOEuoU2zK8O\ni+cvg/9CJ6dO5i5TCCHEDUYabtFuHTtmzcqVTmze7MDo0VV89lkBPXrInOsbSWZ5pvHsdXJ2MmfK\nztDPux86fx0zb55Jf9/+sgyfEEIIs5OGW7QrBgNs327HihXO/PqrNRMnVrBnTy6enrJOdkdnUAz8\nt+i/jZbgq9ZXo/PXEe0XzYPdHqSPdx9stDbmLlUIIYRoRBpu0S5UVmpYt86BVauccXIyMHVqBffc\nU4WtrL7WYVXrq0nNSzWevT6QcwBPe090/joGBwxmdv/ZhLqFotFozF2qEEIIcVXScAuLlpmpZfVq\nJz791JGBA2t5++1idLpapMcyr+OFx0k8mUhKbgoeNh7GCxAvXtnDx8GnWRcfFlYXsj9nv/HsdVpB\nGj08ehDtF83DPR7mnaHv4OPo04avSgghhGgb0nALi/XNN/Y884w7Dz5YyaZN+QQH15u7pBvaubJz\nJJ1MIulkEsU1xcSFxfHSoJfIKs4yLrF3IOeAcYm90ppSOjl1uqwRD3Rq+Ntaa93oAsfzFefp79sf\nnb+O56Keo79vfxxtHM39soUQQojrJg23sEh5eVrmzXPjo48KiIqqM3c5N6yCqgI2nNpAUnoS6cXp\n3B1yNwsHLUTnr0Or0Tas5uLR9HIuVfoqsiqyGq11fTDnIBsqNpBZnkm1vtrYYE/oNYFenr2w1sqX\nJCGEEB2PfHcTFkdRYO5cN8aOrZRm2wzKa8v59rdvSTqZREp2CrHBsUzvN51hQcOatWW5g7UDoW6h\nhLqFtmG1QgghhOWThltYnM8/d+DMGWvee6/I3KXcMGrra9l5bieJ6YnsOLsDnb+OMeFjeD/2fZxs\nnMxdnhBCCNGuScMtLEpmphULF7ry2WcF2NmZuxrTKagq4LP/fkagcyB3drnTJHOXDYqBH7N+JOlk\nEl+f+poeHj2IC4vjz4P/jKe9Z5s/vxBCCHGjkIZbWAyDAZ55xp2pUyvo3fvG2MDmXNk5lv+ynC/T\nv2Rkl5Hsy9rHvL3ziO0cS1x4HMOChrXqutKKonCk4AiJ6Ymsz1iPp50ncWFxbBmzhUDnwFZ7HiGE\nEEL8ThpuYTE++siRigoN06aVm7uUNne88DjLUpex7ew2xvccz/YHtuPn6AdAflU+GzM2suTQEmbv\nms3dIXcTHxZPtH90s5bZu1hGSQbrT64nMT2ROkMdcWFx/PsP/6aHZ4/WfFlCCCGEaIJGURTFVE92\n6NAhVq9ejaIoDB8+nLi4uEaf37hxI9u3b8fKygpXV1emTZuGt7e3qsc+f/58W5Tc4bi4uFBW1vSq\nEuaUkWHFffd5k5SUT1iY+Zf/a6ucUnJSSDiUQGpeKlP6TGFCrwm42bld8fgzpWdYn9HQKJfVlhEX\nFkdceBy9PXtfc8OXnMocvjr5FUknkzhXfo57Q+8lLiyO/r79W22zGEsdT5ZIslJHclJPslJHclJH\nclIvICCg2fcxWcNtMBiYNWsW8+fPx8PDg3nz5vH0008TGPj7r7GPHj1KeHg4tra2bNmyhaNHj/L0\n00+renxpuNWxxDdUfT3Ex3sTF1fF5MkV5i4HaN2cFEVh+9ntJKQmkFWRxZM3PcnY7mNxsHZo1uMc\nKzxGUnoSiScTcbJ2Ii48jriwOLq4djEeU1JTwubTm0lMT+SX/F+4s8udxIfHMzhgcJssuWeJ48lS\nSVbqSE7qSVbqSE7qSE7qtaThNtmUkvT0dDp16oSPT8NOcYMHDyYlJaVRw927d2/jx927d2fPnj2m\nKk+Y0fvvO2NnpzBpkmU0261Fb9CzIWMDCakJAMzoN4PRoaNb3Pj28uxFL10v5kbP5UDOARJPJnLP\n+nvo4tqFO7vcSWpeKnsy93Bb4G1M6DWB2ODYZjf1QgghhGh9Jmu4CwsL8fLyMt729PQkPT39isdv\n376dyMhIU5QmzOjYMWuWL3di06Z8tC2bnmxxqvRVrD2xlvdT3yfQOZA/6f7E8KDhrTaNQ6vREu0f\nTbR/NAsGLuD7zO/57rfvGBE8gr8P/ftVp6gIIYQQwvTMetHklRqQ3bt3k5GRwauvvmragoRJ1dbC\nzJkevPhiKUFB5p+3XVFXwcHcg6Rkp1BQV0BdXfM33dEb9Gw/u52bfW9mScwSov2i26DS39lobYjp\nHENM55g2fR4hhBBCtJzJGm5PT0/y8/ONtwsLC/Hw8LjsuMOHD5OUlMSCBQuwtm66vLS0NNLS0oy3\nx44di4uLS+sX3QHZ2tpaTFavvWZLly4apkyxRqMxfU05FTn8mPkj+87vY1/mPk4UnuAm35sYGDCQ\nKJ8oDPWGFj3unFvn0Mu7VytXa5ksaTxZOslKHclJPclKHclJHcmpedatW2f8OCIigoiIiKseb7KG\nOzw8nOzsbPLy8vDw8GDv3r3MmjWr0TGnTp1ixYoVvPjii1f9T2/qhclEf3Us5aKIgwdtWLPGkS1b\n8igvb1lj2xyKonCy5CQp2Skk5ySTnJ1McU0xA/wGoPPT8YruFfp698Xe2h64/pwsIWNTsJTx1B5I\nVupITupJVupITupITuq5uLgwduzYZt3HZA23VqtlypQpLFy4EEVRiImJISgoiHXr1hEWFkZUVBT/\n+te/qKmp4d1330VRFLy9vXn++edNVaIwkaoqePppd15/vQRf37ZptmvrazlScITk7GRjk+1k7US0\nfzQ6fx1P9n2Sbh7dWryutRBCCCGEWiZdh7stybKA6ljCT7Dz57tSUKAlIaG41R6ztLaUgzkHjWev\nD+cfJtglmFv8b0HnryPaL5oAZ/XL+FhCTu2B5KSeZKWO5KSeZKWO5KSO5KSeRS8LKATA3r22fP21\nA1u35l7X45wvP09KTgrJ2Q0N9unS0/Tz6YfOX8eMfjPo79cfV1vXVqpaCCGEEKLlpOEWJlNWpmHO\nHHfefLMYDw/1v1gxKAZOFJ1omB7yvya7Ul+Jzk9HtH8093e7nz5efbC1sm3D6oUQQgghWkYabmEy\nCxa4MmxYDbGxNdc8tqi6iK9Pfc2W37ZwIPcA7nbu6Px1DOo0iFk3zyLMLazV1rUWQgghhGhL0nAL\nk9i61Y69e+347ru8Kx5TWVfJd2e+IzE9kR+zfmRY0DAe6PYAbw99G19HXxNWK4QQQgjReqThFm2u\nsFDD3LnuLF1ahLNz46kkdYY6dp/bTdLJJLae2UqUbxRx4XEsGb4EF1tZD1QIIYQQ7Z803KJNKQr8\n6U/u3HNPFQMH1gINc7L35+wnMT2Rjac2EuoWSnxYPK/c+greDt5mrlgIIYQQonVJwy3aTHq6Fa++\n6kZ+vpZ33inkaMExkk4mkXQyCSdrJ+LD4/n6vq8Jdg02d6lCCCGEEG1GGm7R6srKNCxa5MK6dQ48\n8X/Z6KOWMnpTIuV15cSHxbP6ztX08uwlFz0KIYQQ4oYgDbdoNQYDfPGFA3/7myvDh1ez6ItvmH9o\nBpElkfzttr8xwG+A7OwohBBCiBuONNyiVRw6ZMNLL7kB8MHKXHYrf+eZlI/4y+C/MCpklJmrE0II\nIYQwH2m4O6jKSg0ZGVacOmVNRoY1p05Zk5lpRXS0hiFDahgwoBYbm+t/nrw8LX/9qys7d9rxwgul\nRN15lFm7/g9XG1e+if8Gfyf/638SIYQQQoh2TBrudqymBs6cudBQW5GR8XtzXVyspUsXPaGhekJC\n9Oh0tfj71/PLL84sWODK2bPWDBlSQ2xsNTExNXh5GZr13HV18OGHTixZ4szYsVXs2JHDpqxPidvw\nF2bfPJtJEZNk+ogQQgghBNJwtxu1tfDjj7bs3GnP8eMNTXV2thWBgfWEhDQ01r171zF6dBWhofUE\nBNSjbaLfve8+W2bNKiM7W8uOHfZ8+609L7/sRni4ntjYakaMqKFPnzqudj3jrl12zJ/vSlBQPUlJ\nBXgG5TJn93OcKTvDF3d/QQ/PHm0XhBBCCCFEOyMNtwXLydGyfbs927Y17NIYHq4nJqaayZMrCA3V\n07lzfYunhfj7G3j44UoefriSmhr46Sdbtm2zZ9o0DyorNcTEVBMbW8OQITXGzWp++82KBQtcOX7c\nhldfLeGOO2rYeW4HD/3nWcaEj2FZ7DLsrOxaMQEhhBBCiPZPoyiKcu3DLN/58+fNXcJ1MxgaLj7c\ntq2hyT5zxpqhQ1s+7aMpLi4ulJWVXfWYjAyr/9Vgz8GDNvTvX0fXrno2bHDgySfLmTq1HMW6ij//\n9Ge2nNnComGLGBQw6LprsyRqchKSU3NIVupITupJVupITupITuoFBAQ0+z5yhtvMSko07Nplx7Zt\n9uzYYYeXl4HY2BpeeaW01S5sbK7Q0HpCQyuYOrWC8nIN339vR1qaDd99l0tAgIEj+UeYsWMGEV4R\nfDfmO9zs3ExfpBBCCCFEO9FhGu7SUg2urm1/sj6zPJOU7BRSclJwtXUlLiyuWXOWFQV+/dWabdsa\nmuzDh2245ZZaYmOrefbZMjp3rm/D6pvP2VnhrruqueuuauoN9SQcep/lvyxnwcAFxIfHm7s8IYQQ\nQgiL12Ea7qgoPxwdlf9dQPj7hYQhIXpCQupxcGh+M25QDPy36L8kZyeTkp1Cck4y1fpqdP46BvgN\nIK8qj3HfjMPDzoP4sHjuC7uPIJegyx6nqgr27bMzThWpr4fY2BqeeKKc226rbVFtpnau7Byzds5C\no9GwKW5Tk69TCCGEEEJcrsPM4b55WX+8rANxqO2MtjSYmtxgSs52IedECOfT/fH0UIwN+MV/BwfX\nY2vb8BjV+mpS81JJzkkmOTuZAzkH8LT3ROevQ+evI9ovmlC30EZbkhsUAz9l/0RieiKbTm2im3s3\n4sLjGOBwLwe+D2TbNnt+/NGW3r3riI1tmI/ds6f+qquAtCW1c7Sq9FUcyjtk/GHjYO5BZkTO4Im+\nT2CltTJBpeYlc9nUkZzUk6zUkZzUk6zUkZzUkZzUa8kcbpM23IcOHWL16tUoisLw4cOJi4tr9Hm9\nXs/SpUvJyMjAxcWF2bNn4+3treqxv/r5KzLLMzlffp7M8kwyKzIb/i7PpFpfja9dIK4EYVfVGUNx\nMFXZXSg63ZWC0ioce+6B4D1UuhzGT9uTm9x1DO0azZ29ovB39lH1/Ho9/LQf1uzdw/dF/6HU/xv8\nagbyh8AxTI+NIdDHsdl5tYUrvaEKqgpIyUlpaLBzUjheeJyenj0bftjw0xHtH42nvacZKjYP+cKj\njuSknmSljuSknmSljuSkjuSknkU33AaDgVmzZjF//nw8PDyYN28eTz/9NIGBgcZjtmzZwpkzZ3js\nscf44YcfSE5O5umnn1b1+FdbpaSirqLJRjyzPBMrbOhmdws+VQPRZt1C5ik340YyhYVWdO584Yx4\nfaMz435+BoqKNOzc2TBNZOdOewIC6omNrSY2tpoefYvZeu5bEtMTSclOISY4hriwOG4Puh1bK9vr\nzrOlXFxcKC0t5XTpaZJz/jdVJjuZvKo8onyjiPaPRuevI9InEgdrB7PVaW7yhUcdyUk9yUodyUk9\nyUodyUkdyUk9i16lJD09nU6dOuHj03DGePDgwaSkpDRquFNSUhg7diwAt956K6tWrWqV53aycaKb\nRze6eXRTcXSJ8aOqKg2nT1sZd288cMCWL75wICPDmspKDVotDBpUQ2xsDS++WEpAwMXL9jkxJnwM\nY8LHUFBVwMZTG3kv9T3m7JrDqJBRhLmFtcpra45aQy3Hio/xw7kfsNJacYv/Lej8dDwa8Sg9PXre\nEFNFhBBCCCFMzWQNd2FhIV5eXsbbnp6epKenX/EYrVaLk5MT5eXlODs7m6rMRhwcFHr10tOrl/6y\nz5WWarC1VbC3v/bjeDl4MbH3RCb2nsi5snNsyNhAVkVWG1R8dVZaK0aHj+ZPUX8i0Dmw0Vx0IYQQ\nQgjRNsy6Ssm1Gj5Lvp6zpUsQBrkEMa3ftFauRj35lZEQQgghhGmZrOH29PQkPz/feLuwsBAPD49G\nx3h5eVFQUICnpycGg4Gqqqomz26npaWRlpZmvD127NgWzae5Ubm4uJi7hHZBclJHclJPslJHclJP\nslJHclJHclJv3bp1xo8jIiKIiIi46vHati7ogvDwcLKzs8nLy0Ov17N3714GDBjQ6JioqCh27doF\nwL59++jTp0+TjxUREcHYsWONfy5+0eLqJCt1JCd1JCf1JCt1JCf1JCt1JCd1JCf11q1b16gPvVaz\nDSY8w63VapkyZQoLFy5EURRiYmIICgpi3bp1hIWFERUVRUxMDEuWLGHmzJm4uLgwa9YsU5UnhBBC\nCCFEmzDpHO7IyEgWL17c6N8urEoCYGNjw5w5c0xZkhBCCCGEEG3K6tVXX33V3EW0Bl9fX3OX0G5I\nVupITupITupJVupITupJVupITupITuo1N6sOs7W7EEIIIYQQlshkF00KIYQQQghxI5KGWwghhBBC\niDZk1o1vWsOhQ4dYvXo1iqIwfPhw4uLizF2SRZo+fTqOjo5oNBqsrKz461//au6SLMZ7773HwYMH\ncXNz4+233wagvLycRYsWkZeXh6+vL7Nnz8bR0dHMlZpXUzl9/vnnbNu2DTc3NwAefvhhIiMjzVmm\n2RUUFLB06VKKi4vRarXExsYyatQoGVNNuDSrESNGcNddd8m4ukRdXR2vvPIKer2e+vp6br31Vh58\n8EFyc3NZvHgx5eXlhISE8H//939YWVmZu1yzuVJOy5Yt4+jRo8bvgU899RRdunQxd7kWwWAwMG/e\nPDw9PZk7d66MqSswGAy88MILeHl5MXfuXBISEjh27FizxlS7brgNBgOrVq1i/vz5eHh4MG/ePKKj\nowkMDDR3aRZHo9HwyiuvNLmR0I1u+PDh3HXXXSxdutT4b0lJSfTt25f77ruPpKQkEhMTGT9+vBmr\nNL+mcgIYPXo0o0ePNlNVlsfKyoqJEyfStWtXqqurmTt3Lv369WPHjh0ypi7RVFY33XQTIOPqYjY2\nNrzyyivY2dlhMBh4+eWXiYyMZOPGjYwePZqBAweyYsUKtm/fzh133GHucs3mSjkBTJgwgVtuucXM\nFVqeTZs2ERgYSFVVFQCffPKJjKkmbNq0iaCgIGNOGo2GRx55BJ1Op/ox2vWUkvT0dDp16oSPjw/W\n1tYMHjyYlJQUc5dlkRRFQa6PbVrPnj1xcnJq9G/79+9n2LBhANx+++0yrmg6J0DG1SXc3d3p2rUr\nAPb29gQGBlJQUCBjqglNZVVYWAjIuLqUnZ0d0HAWt76+Ho1GQ1pamrGJHDZsGMnJyeYs0SI0lRPI\neGpKQUEBP//8M7GxscZ/O3LkiIypSzSVEzSc9G2Odn2Gu7CwEC8vL+NtT09P0tPTzViR5dJoNPz5\nz39Go9EQGxvLiBEjzF2SRSspKcHd3R1oaApKS0vNXJHl+vbbb9m9ezdhYWE88sgjN/w0iYvl5uby\n22+/0b17dxlT13Ahq27dunH8+HEZV5e48CvtnJwcRo4ciZ+fH05OTmi1DefNvLy8KCoqMnOV5ndp\nTuHh4WzZsoW1a9fyn//8h759+zJu3Disrdt1+9Mq1qxZw4QJE6isrASgrKwMZ2dnGVOXuDSnC5o7\npjrciLvw06xobOHChcZv8q+//jpBQUH07NnT3GWJdm7kyJE88MADaDQaPvvsM9asWcO0adPMXZZF\nqK6u5p133mHSpEnY29ubuxyLdmlWMq4up9VqefPNN6msrOTtt98mMzPzsmPk+9/lOZ07d45x48bh\n7u6OXq9n+fLlrF+/nvvvv9/cpZrVhetxunbtSlpaGtD0b8Jv9DHVVE5Ai8ZUu55S4unpSX5+vvF2\nYWEhHh4eZqzIcl04s+bq6opOp5PfBFyDu7s7xcXFABQXFxsv3hKNubq6Gr8gx8bGcvLkSTNXZBnq\n6+v5+9//ztChQ4mOjgZkTF1JU1nJuLoyR0dHevfuzYkTJ6ioqDD+WrugoEC+/13kQk6HDh0yfv+z\ntrZm+PDh8v0POH78OPv372fGjBksXryYI0eOsHr1aiorK2VMXaSpnJYuXdqiMdWuG+7w8HCys7PJ\ny8tDr9ezd+9eBgwYYO6yLE5NTQ3V1dVAw5mkw4cP07lzZzNXZVku/ck+KiqKnTt3ArBz504ZV/9z\naU4XGkiAn376ScbV/7z33nsEBQUxatQo47/JmGpaU1nJuGqstLTU+Ovs2tpafvnlF4KCgoiIiODH\nH38EYNeuXTf8mGoqp4CAAON4UhSF5OTkG348QcMZ2vfee4+lS5fy9NNP06dPH2bOnClj6hJN5TRj\nxowWjal2PaVEq9UyZcoUFi5ciKIoxMTEEBQUZO6yLE5JSQlvvfUWGo2G+vp6hgwZQr9+/cxdlsVY\nvHgxR48epaysjGnTpjF27Fji4uJ499132bFjB97e3syZM8fcZZpdUzmlpaVx+vRpNBoNPj4+PP74\n4+Yu0+yOHz/O999/T3BwMM8//zwajYaHH35YxlQTrpTVnj17ZFxdpLi4mISEBAwGA4qiMGjQIPr3\n709QUBCLFi1i7dq1dO3alZiYGHOXalZXyum1116jrKwMRVHo2rUrU6dONXepFmv8+PEyplT4xz/+\n0ewxJVu7CyGEEEII0Yba9ZQSIYQQQgghLJ003EIIIYQQQrQhabiFEEIIIYRoQ9JwCyGEEEII0Yak\n4RZCCCGEEKINScMthBBCCCFEG5KGWwgh2rmHHnqInJwcc5dxmc8//5wlS5aYuwwhhDC7dr3xjRBC\nWJrp06dTUlKClZUViqKg0WgYNmwYkydPNndpZnFhi3YhhLiRScMthBCt7IUXXqBPnz7mLqNDMRgM\naLXyS1khRPskDbcQQpjIzp072bZtGyEhIezevRsPDw+mTJlibM6LiopYsWIFx48fx8XFhXvvvZfY\n2FigoeFMSkpix44dlJaWEhAQwHPPPYenpycAhw8fZuPGjcK3RUoAAATxSURBVJSVlTF48GCmTJnS\nZA2ff/45586dw8bGhpSUFLy9vZk+fTqhoaFAw/SUf/zjH/j5+QGwbNkyvLy8eOihhzh69ChLlizh\nrrvuYsOGDWi1Wh577DGsra1ZvXo15eXljB49mvj4eOPz1dbWsmjRIn7++Wc6derEtGnT6NKli/H1\nfvjhhxw7dgwHBwdGjRrFXXfdZazz7Nmz2NjYcODAAR555BHZZloI0W7J6QIhhDCh9PR0/P39+fDD\nD3nwwQd5++23qaioAGDRokV4e3vzwQcfMHv2bD799FOOHDkCwMaNG9m3bx8vvvgia9asYdq0adja\n2hof9+DBg/ztb3/jzTffZN++faSmpl6xhgMHDnDbbbexevVqoqKiWLVqler6i4uL0ev1LF++nLFj\nx7J8+XK+//573nzzTRYsWMAXX3xBbm6u8fj9+/czaNAg/vnPfzJ48GDeeustDAYDiqLwxhtvEBIS\nwgcffMDLL7/Mpk2bOHz4cKP7Dhw4kNWrVzNkyBDVNQohhKWRhlsIIVrZW2+9xaOPPmr8s337duPn\n3NzcGDVqFFqtlkGDBhEQEMDBgwcpKCjgxIkTjB8/Hmtra7p27UpMTAy7d+8GYPv27fzxj3/E398f\ngODgYJydnY2PGx8fj4ODA97e3kRERHD69Okr1tezZ08iIyPRaDQMHTqUM2fOqH5t1tbWxMfHo9Vq\nGTx4MGVlZdx9993Y2dkRFBRE586dGz1eaGgoOp0OrVbL6NGjqaur48SJE5w8eZKysjLGjBmDVqvF\n19eX2NhY9u7da7xv9+7dGTBgAAA2NjaqaxRCCEsjU0qEEKKVPffcc1ecw31hCsgF3t7eFBUVUVRU\nhLOzM3Z2dsbP+fj4cOrUKQAKCgqM0zya4ubmZvzYzs6O6urqKx7r7u7e6Nja2lrVc6SdnZ2NF0Je\nOMN+8XPb2to2em4vLy/jxxqNBk9PT4qKigAoLCzk0UcfNX7eYDDQq1evJu8rhBDtmTTcQghhQoWF\nhY1uFxQUEB0djYeHB+Xl5VRXV2Nvbw9Afn4+Hh4eQEPzmZ2dTVBQUJvWZ2trS01NjfF2cXHxdTW+\nBQUFxo8VRaGwsBAPDw/jWe3Fixdf8b6ywokQoqOQKSVCCGFCJSUlbN68mfr6evbt20dmZib9+/fH\ny8uL7t278+9//5u6ujp+++03tm/fztChQwGIiYlh7dq1ZGdnA3DmzBnKy8tbvb6QkBD27NmDwWDg\n0KFDHD169LoeLyMjg+TkZAwGA19//TU2NjZ0796d8PBwHB0dWb9+vfEM+9mzZzl58mQrvRIhhLAc\ncoZbCCFa2RtvvNFoekbfvn159tlnAejWrRtZWVlMmTIFd3d3nnnmGZycnACYNWsWH3zwAU888QTO\nzs489NBDxqkpo0ePRq/Xs3DhQsrKyggMDDQ+ZmuaNGkSCQkJfPvtt0RHR6PT6Zp1/0vPSg8YMIAf\nfviBhIQE/P39efbZZ43ZzJ07lzVr1jBjxgz0ej0BAQH88Y9/bLXXIoQQlkKjKIpi7iKEEOJGsHPn\nTnbs2MGCBQvMXYoQQggTkiklQgghhBBCtCFpuIUQQgghhGhDMqVECCGEEEKINiRnuIUQQgghhGhD\n0nALIYQQQgjRhqThFkIIIYQQog1Jwy2EEEIIIUQbkoZbCCGEEEKINiQNtxBCCCGEEG3o/wO5suW6\nIyEk4gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fc5f005b9e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#plot the training + testing loss and accuracy\n",
    "%matplotlib inline\n",
    "plt.style.use(\"ggplot\")\n",
    "plt.figure()\n",
    "\n",
    "num_epochs_trained = len(train_loss_log)\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_loss_log, label=\"train loss\", c = \"red\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_loss_log, label=\"validation loss\",c = \"orange\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), train_acc_log, label=\"train accuracy\", c = \"blue\")\n",
    "plt.plot(np.arange(0, num_epochs_trained), val_acc_log, label=\"validation accuracy\", c = \"green\")\n",
    "\n",
    "plt.title(\"Learning Curves\")\n",
    "plt.xlabel(\"Epoch number\")\n",
    "plt.ylabel(\"Accuracy/Loss\")\n",
    "plt.ylim([0, 4])\n",
    "plt.yticks(np.arange(0, 4, 0.2))\n",
    "\n",
    "plt.legend()\n",
    "\n",
    "plt.gcf().set_size_inches((12, 10))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Classification report"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Classification report:\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "          0       0.00      0.00      0.00         3\n",
      "          1       0.33      1.00      0.50         1\n",
      "          2       0.25      0.50      0.33         2\n",
      "          3       0.00      0.00      0.00         4\n",
      "          4       0.00      0.00      0.00         3\n",
      "          5       0.00      0.00      0.00         3\n",
      "          6       0.00      0.00      0.00         0\n",
      "          7       0.00      0.00      0.00         6\n",
      "          8       0.33      0.50      0.40         2\n",
      "          9       0.00      0.00      0.00         2\n",
      "         10       0.25      0.50      0.33         2\n",
      "         11       0.50      0.33      0.40         3\n",
      "         12       0.00      0.00      0.00         2\n",
      "         13       0.50      1.00      0.67         1\n",
      "         14       0.27      1.00      0.43         3\n",
      "         15       0.00      0.00      0.00         2\n",
      "         16       0.00      0.00      0.00         0\n",
      "         17       0.00      0.00      0.00         3\n",
      "         18       0.00      0.00      0.00         1\n",
      "         19       0.50      1.00      0.67         1\n",
      "         20       0.00      0.00      0.00         1\n",
      "         21       0.17      1.00      0.29         1\n",
      "         22       1.00      0.33      0.50         3\n",
      "         23       0.20      0.50      0.29         2\n",
      "         24       0.00      0.00      0.00         1\n",
      "         25       0.50      1.00      0.67         1\n",
      "         26       0.00      0.00      0.00         4\n",
      "         27       0.00      0.00      0.00         2\n",
      "         28       0.00      0.00      0.00         2\n",
      "         29       0.14      1.00      0.25         1\n",
      "         31       0.00      0.00      0.00         0\n",
      "         32       0.00      0.00      0.00         3\n",
      "         33       0.20      1.00      0.33         1\n",
      "         34       0.00      0.00      0.00         1\n",
      "         35       0.00      0.00      0.00         1\n",
      "         36       0.00      0.00      0.00         2\n",
      "         37       0.40      1.00      0.57         2\n",
      "         38       0.67      0.50      0.57         4\n",
      "         39       0.00      0.00      0.00         4\n",
      "\n",
      "avg / total       0.16      0.25      0.17        80\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import classification_report\n",
    "\n",
    "print(\"Classification report:\")\n",
    "print(classification_report(y_test.argmax(axis=1), y_predicted.argmax(axis=1)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  },
  "widgets": {
   "state": {},
   "version": "1.1.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
